区别:添加一个tlb作为参考调用函数VS使用'Run'?

时间:2011-08-09 18:10:12

标签: .net excel vba excel-vba

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

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

    中的新建

    Dim obj = New MyLibrary.TestClass

    returnval = obj.Add(5,5)

  2. 请注意.Net dll并使用

    中的Run方法

    returnVal = Run(“Add”,5,5);

  3. 我有很多代码,我看到这种类似的访问函数的方式,我真的很困惑这是如何工作的。

    2如何工作,是否有效或需要做什么才能让2像这样工作。

1 个答案:

答案 0 :(得分:0)

您需要在代码段中将Dim语句替换为= As关键字。这有效(假设该类已通过COM正确注册):

Sub AccessExternalUdf()
    Dim obj As New MyNamespace.MyClass
    result1 = obj.MyMethod    
    result2 = Run("MyMethod")
End Sub

差异(如上所述由@Hans)是早期与晚期(运行)绑定。