如何在vba中使用.net委托

时间:2013-04-25 14:50:32

标签: .net vba delegates

我有一个用C#编写的.net DLL,它暴露了一些代理。现在,它们在VBA对象资源管理器中可见,并显示为“类”。但是我如何实例化它并使其指向具有相同签名的VBA函数并将其传递回C#函数,该函数将该委托作为参数?

我应该能够做到这一点,对吧!?我的DLL是为COM互操作注册的,是否有任何COM属性必须装饰代表或什么?

谢谢,安德烈!

1 个答案:

答案 0 :(得分:1)

使用后期绑定,您将无法使用VBA IntelliSense进行编程,使用正确的参数调用函数:

例如: 实例化你的课程

Private obj As Object
Set obj = CreateObject("NAMESPACE.CLASS")

并使用您班级的方法

obj.METHOD(a,b,c)

如果您需要注册DDL programmaticaly,可以使用

Shell "c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe c:\MYDLL.dll /codebase"