カテゴリー
コンピューター

【VBA】【Git】VBA とそのエクセルを Git でそれなりに管理する方法

管理するもの

  • 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 の入手、配置

  1. vbaidiot/Ariawase · GitHub から一式をダウンロード
  2. 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

おわりに

参考ページです。ありがとう存じます♪ここで紹介されていることを自分なりに実践した結果が、今回の投稿となりました。

以上です。

コメントを残す