今回は、VBA開発者向として、ExcelVBAにてプログラミング、ツール開発を行っている方向けの記事です。
VBA開発者は多かれ少なかれ、自分専用のプロシージャなどをまとめたアドインを使用していると思います。
1つ1つのプロシージャをまとめたモジュール、そのモジュールをまた1つ1つまとめたものをアドインファイルとして、いつでも参照できるように設定している感じですね。
そこで生じる問題として、それらのモジュール、プロシージャが増えすぎると、「それぞれの用途、使い方」がわかりにくくなってきます。
用途、使い方がわかりにくくなってしまうことを防ぐためには、実行サンプルのプロシージャとして常に添えていつでも思い出せるようにしておくのが1つの方法です
しかし、実行サンプルを同じアドインファイル上においておくと、さらにアドイン内のプロシージャの数が増えてしまい整理が難しくなってしまいます。また、実行サンプルがセルを参照したり、外部ファイルを入力出力したりの操作をする場合はシート、セルが存在しないアドインファイルでは実行サンプルを作ることが出来ません。
この解決方法として、実行サンプルはアドインの外部に常に配置してフォルダ分けなどで整理しておくことです。
またしかし、実行サンプルを外部に置くとメインのアドインを更新した際に、実行サンプルまで更新することが手間になってしまいます。
ここで私が構築しているシステムを紹介します。
実際に構築しているシステムは以下のようなフローになっています。
「アドイン更新」→「モジュールエクスポート」→「実行サンプルへモジュールインポート」→「Githubへアップロード」
図で示すと、下のようになります。
このフローのうち、
・「アドインからモジュールのエクスポート」
・「実行サンプルへのモジュールのインポート」
この2つの動作は、VBAにて自動化を実現しています。この自動化方法はまた記事等で紹介しようと思います。
また、更新された実行サンプルは「Github Desktop」というソフトウェアを用いて、Github上にアップロードされ一般公開されます。
実行サンプルや説明書をわかりやすいものにしておけば万人が使いやすいモジュール、プロシージャとして共有ができる仕組みです。
このシステムを構築することで、VBAによる開発においてアドインの管理の手間が省略され、かつさらに使いやすいものにでき、結果的に開発スピードを飛躍的に効率化できます。