VBAから使用するC#を使用してクラスライブラリを作成しています。しかし、私を落胆させることが1つあります。メソッド名の一部の文字を削除または変更して、vbaプロジェクトをコンパイルしようとしても、エラーは発生しません。しかし、遅延バインディングを使用しているために発生することがわかった場合は、コンパイルエラーメッセージを表示したいと思います。
説明しようと思います。
それは正しい署名です:
Sub Test() Dim cls as New SomeClass cls.SomeMethod End Sub
スペルミスのある署名です。
Sub Test() Dim cls as New SomeClass cls.**SomeMetod** End Sub
[コンパイルVBAプロジェクト]を押します-すべて問題ありませんが、そうではありません。
以下に示すように、ベースインターフェイスを変更しました。
[Guid("Some GUID here"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IComInterface
{}
および基本クラス:
[ClassInterface(ClassInterfaceType.None)]
public class BaseClass
しかし、何も起こりません!!! 実行時にエラーが発生するだけです。