ExcelVBAのバージョン管理方法

Table of Content

目的

この記事ではExcelVBAでバージョン管理を行う方法について説明する。
以下のようにWinMergeの差分機能を用いることで、VBAの差分を表示することが可能である。

b0232065_21525328.png

手順

WinMergeの準備

  1. WinMergeのダウンロードを行う
  2. ダウンロードページより「Excelからテキストへの変換プラグイン」のExcelToText.sctをWinMergeのMergePluginsフォルダにコピーする。
    例:"C:\Program Files\WinMerge\MergePlugins"
  3. WinMergeを起動してプラグインの自動展開を選択する
    b0232065_21443344.png

Excelの準備

Excel 2003の場合

  1. Excelを起動
  2. [ツール]→[マクロ]→[セキュリティ]
  3. [信頼できる発行元タブ]を選択する。
  4. [Visual Basic プロジェクトへのアクセスを信頼する]にチェックを付与する。
    b0232065_21472719.png

Excel 2010の場合

  1. Excelを起動
  2. 開発タブを選択して「マクロのセキュリティ」をクリックする
    b0232065_21482034.png
  3. 「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」をONにする。
    b0232065_21504100.png

構成管理ソフトの準備

差分を外部プログラムを用いて行うようにする。

TrotoiseSVNの準備

  1. [TrotoiseSVN]→[設定]を表示する
  2. 差分ビュワーを選択してWinMergeを選択する。
    b0232065_2155966.png
    設定例:

    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ファイルのソースを修正することができるのは強み。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です