【VBA】ソースコードをきれいで読みやすくする方法

2021年8月17日

今回はVBAのソースコードを簡易的にきれいにするテクニックを紹介します。

こんな課題に直面している人にオススメです。

  • 自分のコードが読みづらい
  • 後からプログラムを変更するのが大変で困っている
  • 今までより複雑なプログラムを作ることになった
  • 昔自分が書いたコードが今は理解できない

シンプルな解決策

プログラムの書き方は千差万別なので、シンプルな解決策を1つだけ紹介します。

それは、メインのプロシージャとサブのプロシージャを分けることです。

図解すると次のようになります。

  • メインプロシージャの役割⇒外から呼ばれること、サブプロシージャを呼び出すこと
  • サブプロシージャの役割⇒処理を行うこと

このように、自分では処理をしないメインプロシージャを作ってあげます。

各サブプロシージャを呼び出すだけなので、実行するときの窓口(インターフェース)としての役割を果たします。

メインプロシージャを作るメリット

①プログラムを見なくても処理が分かる

やってみると分かるのですが、メインプロシージャを用意するとサブプロシージャでどんな処理をしたいかがはっきりします。

≪サンプルプログラム≫

f:id:hamahiro881477:20201216065342p:plain

メインプロシージャにはサブプロシージャの呼び出しとその説明(コメント)が並ぶことになります。
人間の脳は、プログラムを理解するのに向いていません。
そのため、説明だけ書かれているプログラムを見る方が理解が進みます。

サブプロシージャを読む場合も、説明とプログラムが一致しているかを確認するだけで済みます。

②変更箇所を特定しやすい

プログラムに変更を加える場合も、メインプロシージャの説明を見れば、どのサププロシージャを変える必要があるか一発で分かります。

分割していないとプログラム全体を確認する必要がありますが、ぱっと見で変更箇所が特定できます。

簡単に変更できるのは、疎結合という概念とも関係しています。

気になる方はググってみてください。

参考文献

ここで紹介したやり方は「オブジェクト指向のこころ」のFacadeパターンを VBA向けにアレンジしたものです。

オブジェクト指向言語を知らない人には難易度が高いですが、 きれいなプログラム構造を作るためには、こうした本を読むことが重要です。

他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい