先日コンパイル時の謎のエラー という記事を書いたが、その続報。


どうやら「クラスモジュールを多用している」からでは?という感がある。

仮説として、2つある。

1つは、VBの流れを汲むVBAは元々スタティックな言語であるが、無理矢理?クラスモジュールの概念を導入している感があり、コンパイラがダイナミックに呼び先を解決するようなことはあまり得意ではないのではないか?というもの。

もう1つは、クラスを生成せずに参照すると当然実行時にエラーが出るのだが、コンパイル時にもチェックし、クラス生成していないがためにエラーがわんさか出て想定しているエラー数をオーバーするのでは?というもの。


他にもあるのかもしれないが、実行させていて1つエラーを解決するとまともにエラーが出てくるようになったりするところをみていると、あながち上記でも的はずれではない気がしている。