管理するもの
- Sample フォルダ配下で VBA コードとエクセルを管理
- エクセル: Sample.xlsm、VBA: Sample クラス、Sample モジュール
管理方法ポイント
- vbac を使用して VBA ファイルをエクスポートする。
- bin フォルダにエクセルファイルを配置
- src フォルダに VBA ソース配置 (自動生成)
- Git で bin フォルダのエクセルファイル、src フォルダの VBA ソースを管理
- VBA ソースは単体で使うよりも、エクセルのシートとも絡んだ使い方が多いため、エクセルファイルもバージョン管理に追加
- .gitignore ファイルで、bin フォルダと src フォルダ以外をバージョン管理から除外
フォルダ構成
Sample | .gitignore | export.bat | vbac.wsf | |--bin | Sample.xlsm | `--src `--Sample.xlsm Sample.cls Sample.bas ThisWorkbook.dcm
準備では、src フォルダ一式以外を準備していきます。src フォルダは、vbac によるエクスポートで自動生成されますの。
Sample フォルダに bin フォルダを作り、そこにエクセルファイル Sample.xlsm を配置してからの手順を記します。
準備1. vbac の入手、配置
- vbaidiot/Ariawase · GitHub から一式をダウンロード
- vbac.wsf を取り出し、Sample フォルダに配置
準備2. .gitignore について
vbac 作者によりますと、vbac.wsf もバージョン管理に含めた方がよいとのことでしたけれども、管理対象は最小にしたいと考え含めないことといたしました。
そうしますと、バージョン管理から除外するファイルが出てきます。それらを次のように .gitignore ファイルに定義し、Sample フォルダに配置いたします。
export.bat vbac.wsf
準備3. VBA エクスポートをもっと楽にするためのバッチ
vbac の cscript vbac.wsf decombine
コマンドで VBA ソースをエクスポートできます。
これを毎回コマンドプロンプトから毎回実行するのが面倒ですので、ダブルクリックなどで実行すればエクスポートできるバッチを用意いたしました。
@echo off rem rem bin フォルダの xldm ファイルから VBA スクリプトを一括エクスポートします。 rem 同じオルダに、vbac.wsf、bin フォルダが必要です。 rem xldm ファイルは、bin フォルダに格納します。 rem rem このバッチが存在するフォルダをカレントに設定 pushd %0\.. cls rem エクスポート cscript vbac.wsf decombine exit
実践1. VBA コードのエクスポート
export.bat をダブルクリックや Enter キーなどで実行いたします。
すると、src/Sample.xlsm フォルダとその中に VBA ソースがエクスポートされます。
これらと、エクセルファイルを Git 管理すれば、目的達成ですの!
実践2. Git 管理
あとは Git リポジトリを作成して管理を開始すれば OK ですわ。
まだ使い始めて日が浅いですので、一通りのコマンドもメモしておきます。
詳しくは次のページを参照してくださいませ。
: 予め Sample フォルダに移動 : リポジトリ作成 git init : ローカルステージングに追加 git add . : ローカルリポジトリにコミット git commit -m "コミットタイトルメッセージ" : リモートリポジトリを追加 git remote add [remote-name] [url] : リモートリポジトリにプッシュ git push [remote-name] master
おわりに
参考ページです。ありがとう存じます♪ここで紹介されていることを自分なりに実践した結果が、今回の投稿となりました。
以上です。