VbaDeveloperによるVBAソースコード管理支援


エクセルのマクロのソースコード管理に使用している [VbaDeveloper](https://github.com/hilkoc/vbaDeveloper) の構築の備忘録です。
エクセルのマクロのソースコード管理ツールはいくつかありますが、上記は結構使いやすいかと思っています。
[MoonGiftさん](https://www.moongift.jp/2016/08/vbadeveloper-excel-vba%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B/)で紹介されたあと、あまり記事を見ないのと、PCを変更するたびに構築していたので、備忘録としてまとめました。
デフォルトでは クラスモジュールに対応していないので、少し改変してあります。

# 1. コードからVBEにアクセスできるようにする


1 エクセルを開く
2 ファイル>オプションを選択する
![001-options.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/3a547131-b958-953b-c39f-c6a73756c1d8.png)
3 トラストセンターを選択して、トラストセンターの設定をクリックする
![002-trustcenter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/55bc100b-a804-de94-be91-d985d2f9e8a2.png)
4 VBAプロジェクト オブジェクトモデルのアクセスを信頼する をチェックする
![003-trustVbaObj.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/df885d33-6937-e8d3-f81c-90d84fef32e4.png)
# 2. vbaDeveloper Addinのソースファイルの準備
1 [VbaDeveloper](https://github.com/hilkoc/vbaDeveloper)からソースをダウンロードする
NOTE: フォルダ vbaDeveloper.xlam以下があればいい
2 適当なフォルダvbaDeveloperを作成し、その中にフォルダsrcを作成する
3 フォルダsrcの中に、ダウンロードしたファイルを展開し、フォルダvbaDeveloper.xlamを置く
4 フォルダ名vbaDeveloper.xlamをvbaDeveloper.xlsmに変更する。
5 フォルダとファイルの配置は以下のような感じ
![004-FileAndFolder.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/3c49e5a2-560e-bde0-de60-5eb93eb8a12e.png)
# 3. vbaDeveloper Addinの作成 (build?)
1 新しいエクセルドキュメントを作成する
![005-NewExcel.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/90e495fb-5875-8b0b-6546-532b3c044cd8.png)
2 Alt+F11でVBE(Visual Basic Editor)を開く
![006-OpenVBE.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/2bae9c60-f190-9f42-3bbe-f565543fd4c3.png)
3 メニュー>ファイル>ファイルのインポートで、ソースコードからbuild.basを読み込む
![007-ImportBuild.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/38aec453-9571-1ce1-bc3d-a304a3fe113c.png)
4 標準モジュールを開くと、Buildが取り込まれている
![008-LoadBuild.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/0596caf1-9e86-03e3-f5ed-81af03bb2250.png)
5 メニュー>ツール>参照設定で、Microsoft Scripting Runtimeを選択して、OKする
![009-AddRef1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/8a3c8c6b-137b-686c-4402-6ee20a5af65a.png)
6 メニュー>ツール>参照設定で、Microsoft Visual Basic for Applications Extensibility 5.3 を選択して、OKする
![010-AddRef2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/3f12d619-f273-eb86-14cc-2f5aa59fd9fe.png)
7 メニュー>ツール>参照設定で、次のようになっている
![011-AddRefCheck.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/aa579bb2-510f-3a40-eac5-f00a8b92e0ed.png)
8 編集中のプロジェクト名をvbaProject から vbaDeveloperに変更する
![012-RenameProject.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/a442ec5a-ff50-6d97-1571-08692d8541ec.png)
9 VBE > メニュー> book1を上書き保存するで、フォルダ srcと同じ階層に、vbaDeveloper.xlsmとして保存する
![013-SaveXlsm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/8079a16c-dbb5-ea40-69d2-62e23778e82e.png)
10 標準モジュールのBuildの中間くらいの、importVbaCode のデフォルト引数を FalseからTrueに変更する
NOTE: クラスモージュールは、正しく読み込まれないのでFalseにしてあるようだが、なんとなく読み込めるのでTrueに変更した
![014-CodeFalseToTrue.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/025a8cff-c1d7-ae50-7108-68bdc1b076d5.png)
11 BuildモジュールのtestImport を選択する
![015-SelectSub.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/92f1e8d3-4f5c-46c2-65bb-2a8181401586.png)
12 F5で、testImportを実行すると、全モージュールが読み込まれる。
![016-LoadedAllFile.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/d16094f2-22e0-00db-8b7f-cc087eecc3f8.png)
13 vbaDeveloper.xlsm を名前を付けて保存する
![017-SaveXlam1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/28e30619-ed25-4f1b-1e55-9e037163d578.png)
14 ファイルの種類を、 Excel アドインに変更して、保存する
NOTE: この時、保存フォルダが Addinsになっていること。
![018-SaveXlam2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/b2684979-d1b8-0319-316d-c2c935c290a8.png)
15 エクセルをすべて終了する
# 4. vbaDeveloper.xlamをアドインとして登録する
1 ファイル>オプションを選択する
![019-options.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/b4a938fd-a120-2619-bae7-71031ab4ebc2.png)
2 アドインを選択して、設定をクリックする。
![020-AddinSettings.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/84b14fc7-adb0-ecda-6fe7-31ac9e4c84e1.png)
3 vbaDeveloper をチェックして、OKする。
![021-AddAddin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/3307f2e8-9213-3dad-5815-5f95e4f58091.png)
4 エクセルを再起動する
5 メニューにアドインが追加され、VbaDeveloperのメニューが表示される。
![022-MainMenu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165394/fb332b2b-f099-2693-2409-9b422524ac97.png)
6 マクロ(*.xlsm, *.xlam)を読み込んでいるのに、プロジェクトが表示されないときは、Refresh this menu を選択する。
7 ソースの出力と読み込みは、マクロ(*.xlsm, *.xlam)のあるフォルダのフォルダsrcの中のプロジェクトフォルダが使用される
8 VbaDeveloperしかマクロがないときには、ほかには何も表示されない。自分自身も出力することができる。ただし、Importは Build.bas 以外は可能みたい

```
VbaDeveloper
Copyright (c) 2014 Hilkoc
Released under the MIT license
https://github.com/hilkoc/vbaDeveloper/blob/master/LICENSE
```