两者之间的区别:添加 tlb 作为引用以使用"运行"调用函数 VS?



假设我有一个带有'Add'函数的类(TestClass)的。net库。我通过编写VBA插件在Excel中访问此。我想知道以下两种访问FUN1的方法的区别。

  1. 添加tlb作为参考,并使用New as

    Dim obj = New MyLibrary。TestClass

    return = obj.Add(5,5)

  2. 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所述)是早期绑定和晚期(运行)绑定。

最新更新