Excel VBAのソースコードをバージョン管理しやすくする


概要

Excel VBAのソースコードを、gitやSVNで管理したいです。
そのために、ソースコードをエクスポート/インポートするアドインを作りました。
同じような目的でvbacというものがありますが、こっちはコマンドラインを使わずに操作できます。

以下で公開しています。
https://github.com/minoru-nagasawa/VbaImportExportAddIn

使い方

エクスポート

  1. Excel VBAが書かれているExcelブックを開きます。
  2. "Export"をクリックします。
  3. すると、Excelブックと同じ場所にフォルダが作成され、その下にVBAのソースコードがエクスポートされます。
    下記の例は、Book1.xlsmに対してエクスポートした例です。
    Book1.xlsm.srcというフォルダが作成され、その下にソースコードがエクスポートされています。
./
├─ Book1.xlsm
│
└─ Book1.xlsm.src
    ├─ Classes
    │      Class1.cls
    │
    ├─ ExcelObjects
    │      Sheet1
    │      ThisWorkbook
    │
    ├─ Forms
    │      UserForm1.frm
    │      UserForm1.frx
    │
    └─ Modules
            Module1.bas

インポート

  1. ExcelブックとExcel VBAのソースコードを、エクスポートと同じ構成で置きます。
./
├─ Book1.xlsm
│
└─ Book1.xlsm.src
    ├─ Classes
    │      Class1.cls
    │
    ├─ ExcelObjects
    │      Sheet1
    │      ThisWorkbook
    │
    ├─ Forms
    │      UserForm1.frm
    │      UserForm1.frx
    │
    └─ Modules
            Module1.bas

2 . Excelブックを開きます。
3. "Import"をクリックします。

インストール方法

  1. 起動しているExcelを、全て終了してください。
  2. VbaImportExportAddIn.xlamをダウンロードしてください。
    https://github.com/minoru-nagasawa/VbaImportExportAddIn
  3. ダウンロードしたファイルを"C:\Users[Username]\AppData\Roaming\Microsoft\AddIns"にコピーしてください。
  4. コピーしたファイルのプロパティを開いて、「許可する」にチェックして、[OK]してください。
  5. Excelを起動してください。
  6. アドインダイアログを開いてください。 ([Alt] -> [t] -> [i] で開きます)
  7. "VbaImportExportAddIn"にチェックを入れて[OK]してください。
  8. [ファイル]-[オプション]→[セキュリティセンター]-[セキュリティセンターの設定]→[マクロの設定]-[VBAプロジェクト・・]にチェックを入れて[OK]してください。

注意点

エクスポートは、出力フォルダの"マクロ名.src"フォルダを空にしてからエクスポートします。
また、インポートは、ExcelブックのVBAを全削除してからインポートします。
つまり、ExcelブックのVBAと、フォルダ下のソースコードの片方にだけ残すことはできないので注意してください。