1
我使用將從VBA使用的C#創建類庫。但有一件事情讓我討論 - 當我刪除或更改方法名稱中的某些字母並嘗試編譯vba項目時,我不會收到任何錯誤。但是,我想要得到編譯錯誤信息,因爲我發現它是因爲使用後期綁定而發生的。只在C#中啓用COM類的早期綁定
我會盡力解釋。
這是正確的簽名:
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
但沒有任何反應!我只在運行時遇到錯誤。
然後不要使用遲綁定。在你使用的任何vba工具中添加類型庫。 –
「然後不要使用遲到綁定」 - 我不知道如何使用早期綁定來製作我的課程 – frippy
直到你解釋了你正在使用的啓用vba的程序時,你才能得到一步一步的答案。如果這實際上是VBScript,那麼早期綁定是不可能的。 –