VBAのソースファイルをバージョン管理するのを支援するvba-porter.xlaを作りました
これは何?
私が以前勤めていた職場は、とにかくExcelerな所でした。
業務で使うファイルの8割方はExcelです。
重要なデータもことごとく人の手によって肥大したExcelの中に保存されていく・・・。
そんなカオスな状況(※1)にうんざりした私は、気がつくとVBAをコーディングし始めていました。
それまでVBAはマクロの記録ぐらいしかしたことがなかったんですが、 調べてみると、オブジェクト指向の開発もでき、それなりに使えそうで希望が出てきたのですが、 以下の問題がありました。
- モジュールを分けてオブジェクト指向開発しても、各モジュールをSVNなどでバージョン管理できない
- 開発したVBAを他のメンバーに提供する良い方法がなかった(※2)
- 開発したVBAのトリガを用意するのがめんどい(※3)
そこで、上記の問題を解決するために、vba-porter.xlaというExcelのアドインを作りました。
特徴
コンポーネントをインポート/エクスポートするメニューを提供
以下のメニューで開発したコンポーネントをインポート/エクスポートできます。
これにより、開発したコンポーネントをExcelと切り離したテキストファイルとして保存できるため、 SVNなどでバージョン管理でき、各メンバが本アドインをインストールするだけで、作成/修正したVBAを簡単に提供できます。
コンポーネントのコードを実行するメニューを自動生成
コンポーネントを決められたルールでコーディングすることで、 以下のようなメニューが自動生成され、コンポーネントの関数が実行できます。
複数人での開発をサポート
SVN更新などでエクスポート先のファイルが更新されている場合は、以下のようなダイアログで気付けるようにしています。
インストールなど
以下を見て下さい。
https://github.com/aki2o/vba-porter/blob/master/README-ja.md
その他
- 動作確認した環境は Windows XP SP3、Excel 2003 SP3 です。(※4)
※1 周りの人はそう思ってなかったみたいです・・・。
※2 その職場ではファイルサーバにVBAのExcelを置いとくだけでした。
※3 ボタンとかだと、そのExcelファイルに変更/依存したりして何だかなぁと。
※4 未だにXP/Excel2003です。他の環境で動作・・・するかなぁ・・・。
Enjoy!!!