假设我有一个带有'Add'函数的类(TestClass)的。net库。我通过编写VBA插件在Excel中访问此。我想知道以下两种访问FUN1的方法的区别。
-
添加tlb作为参考,并使用New as
Dim obj = New MyLibrary。TestClass
return = obj.Add(5,5)
-
Regasm .Net dll并使用Run方法,如
returnVal = Run("Add", 5,5);
我有很多代码,在那里我看到了类似的访问函数的方式,我真的很困惑这是如何工作的。
2是如何工作的,它会工作吗,或者什么是必要的,使2这样工作
您需要将代码片段中Dim语句的=替换为As关键字。这可以工作(假设类在COM中正确注册):
Sub AccessExternalUdf()
Dim obj As New MyNamespace.MyClass
result1 = obj.MyMethod
result2 = Run("MyMethod")
End Sub
区别(如上面@Hans所述)是早期绑定和晚期(运行)绑定。