Table of Content
目的
この記事ではExcelVBAでバージョン管理を行う方法について説明する。
以下のようにWinMergeの差分機能を用いることで、VBAの差分を表示することが可能である。
手順
WinMergeの準備
- WinMergeのダウンロードを行う
-
ダウンロードページより「Excelからテキストへの変換プラグイン」のExcelToText.sctをWinMergeのMergePluginsフォルダにコピーする。
例:"C:\Program Files\WinMerge\MergePlugins" -
WinMergeを起動してプラグインの自動展開を選択する
Excelの準備
Excel 2003の場合
- Excelを起動
- [ツール]→[マクロ]→[セキュリティ]
- [信頼できる発行元タブ]を選択する。
- [Visual Basic プロジェクトへのアクセスを信頼する]にチェックを付与する。
Excel 2010の場合
- Excelを起動
- 開発タブを選択して「マクロのセキュリティ」をクリックする
- 「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」をONにする。
構成管理ソフトの準備
差分を外部プログラムを用いて行うようにする。
TrotoiseSVNの準備
- [TrotoiseSVN]→[設定]を表示する
- 差分ビュワーを選択してWinMergeを選択する。
設定例:
C:\Program Files\WinMerge\WinMergeU.exe -e -x -ub -dl %bname -dr %yname %base %mine
別解
Ariawaseを用いてファイルをテキストファイルに変更する。
https://github.com/vbaidiot/Ariawase
http://igeta-diary.blogspot.jp/2014/03/what-is-vbac.html
build.batはsrcフォルダの内容をインポートしてXLSファイルを更新する。
以下のコマンドでXLSの内容をエクスポートしてソースをテキストとして出力作成する
cscript //nologo vbac.wsf decombine
構成管理にテキストとしてソースコードを格納できることと、複数人が同時に1ファイルのソースを修正することができるのは強み。