
GitHubによるVBAソースコードの管理
【目的】
・VBAで作成したコードの過去の履歴が見れないため、GitHubで追えるようにする。
・手作業コピペではなく、gitにて自動でリモートにpush
・せっかくだからgithubに草生やしたい
・備忘用でNoteに書いておきたい
【準備物】
・vbac.wsf
igeta様作成(感謝します) VBAのソースコードを抽出。
下記URLからDLし、vbac.wsfを用意
・Git Bash
Windows は必須。MACは不必要(ターミナルでおk)
・出力用xlsmファイル
vbac.wsfを許可するためにExcelにて、
ファイル→オプション→トラストセンター→トラストセンターの設定→マクロの設定→VBAプロジェクトオブジェクトモデルへのアクセスを信頼する
にチェックをします

今回は例として"TestGit.xlsm"を使用します。



・githubアカウント
この記事を見ているなら作成済でしょう。
【初期設定】
・Git BashによるGithubのアカウント設定
①PC内検索覧にGitBashと入力し起動
(このときショートカットを作成しておくと楽)

②Githubのアカウント設定
自分のGithubアカウントを下記コマンドで設定します。
git config -- global user.name "ユーザー名"
git config --global user.emaill"メールアドレス"
【Git方法】
【ローカルリポジトリの作成】
①下記のようにフォルダを構成
任意フォルダ名\┳bin\━━━TestGit.xlsm
┗vbac.wsf

②windows+R でコマンドプロンプト起動、
cd "フォルダパス"コマンドで
vbacとbinフォルダがある場所までディレクトリ移動

③cscript //nologo vbac.wsf decombine
とコマンドを実行
下図のように表示されると出力されます。

①のさきほどのフォルダを確認すると、新たに"src"フォルダが作成されていて、その中に”TestGit.xlsm”フォルダ、さらにその下の階層にソースコードが出力されます。中身はメモ帳やVS Code で確認できるよ。

【GitHubのリポジトリ新規作成】
Github側でプルするリポジトリを作成します。
①GitHubにブラウザでログインし、右上の"+"からnew repositoryの作成

②各項目を設定します。
Repository name -->リポジトリの名前(今回は"VBANanachiGitHubText")
Public/Private -->公開範囲を設定します。(今回は"Public")

画面下の"Crate repository"からリポジトリを新規作成

③作成後、以下の画面に推移

HTTPS を選択し、https://.github.com/~~~~~~.gitをコピーしておきます。
【GitHubにPush】
①GitBashを起動
②cd と入力し、プッシュするフォルダをGitBashにドラックアンドドロップしてフォルダパスを入力後、実行
今回の場合はsrcフォルダにある"TestGit.xlsm"

②git init コマンドを実行
gitファイルが作成されます。

③git add . コマンドを実行します

④ git commit -m "コミット名" を実行します

⑤git remote add origin "取得したURL" を実行します。
⑥git push origin master でPushします。

⑦GitHubでリポジトリを確認するとちゃんとPushされています!

VBAでしっかりコミットされて、草も生えていました


【まとめ】
GitHubにてVBAソースコードの管理が可能になりました。
MicrosoftはVisualStudioみたいにVBAもGit管理できるようにしてクレメンス