【VBA】クラスモジュールの使いどころ

ふと思いついたので、メモ。

VBAのクラスモジュールはWithEventsで使ったり、propertyが設定できたりいろいろ便利なんですが、Yahoo!知恵袋の回答ではあまり使いません。なんせ、モジュールが複数になってしまうと、とたんに難易度が上がるからです。

標準モジュール以外のモジュールを使うことができるということ自体分かっていない人も多い中、クラスモジュールを使う訳にもいかず、そうするとクラスモジュールの使いどころとはなんだろうなと疑問に思いました。

考えてみれば私も、大掛かりなアドインを作る仕事から離れて以来、クラスモジュールはCollectionやDictionaryのメンバとしてしか使っていません。

初めてJavaを学んだ時、Eclipseという統合開発環境のすごさを思い知り、VBEがいかに幼稚であるか認識しました。PropertySetとPropertyGetを手書きでだらだらと記述しないといけないVBEは、プロの使うものではないという意見には納得です(Eclipseではボタン一つでPropertySetとGetのコードが生成できる)。

でも一方で、統合開発環境などをインストールすることが不可能な職場というものもあります。公務員や年金事務所などの個人情報を扱う、非常に機密性の高い環境です。

そういうところでオブジェクト指向な開発をせざるを得ないシチュエーションがあるとしたら、使える言語はVBAになるのでしょうか・・・。そのときようやくクラスモジュールが陽の目を見るのかなあ?とちょっと思いましたが、そもそもオブジェクト指向な開発をせざるを得ない状況って何?と考えたら、うーーーーんと止まってしまいました。

多分、そんなシチュエーションはないです。あったとしても、普通外部の専門家(NTTデータとかNECとか富士通とか)に委託するでしょうし。

だから、VBAのクラスモジュールの使いどころはないというのが私の今のところの結論です。

でも便利なんだけどなあ・・・!