23
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

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

概要

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

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

使い方

エクスポート

  1. Excel VBAが書かれているExcelブックを開きます。
  2. "Export"をクリックします。
    export.png
  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"をクリックします。
import.png

インストール方法

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

注意点

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
23
Help us understand the problem. What are the problem?