【发布时间】:2014-05-25 23:22:35
【问题描述】:
我在这个话题上遇到了一些麻烦,我想向社区寻求建议。我似乎无法在网上找到任何面向 vb.net 的内容,而且我的 C# 知识不够全面,无法理解 C# 示例。
我希望能够在 vb.net 中创建一个类库,以用于其他地方的 VBA 宏。特别是在 Excel 和我们使用的终端仿真器中。我试图从简单开始,然后从那里开始。目前,这是我尝试使用的测试代码:
Public Class ComTest
Public Function SayHello() As String
Return "Hello"
End Function
End Class
在属性 > 应用程序 > 程序集信息下,我选中了“使程序集 com 可见”框。
当我尝试使用 VBA 编辑器设置对此 dll 的引用时,我收到错误消息,提示我无法添加对指定文件的引用。如果我尝试这样声明函数:
Private Declare Function SayHello Lib "C:\SomePath\ComTest.dll" ()
我收到运行时错误“453”:在 C:\SomePath\ComTest.dll 中找不到 DLL 入口点 SayHello
我隐约明白,声明函数将是使用包含非托管代码的“常规”DLL 的方法。前者实际上是创建一个 COM 组件。如果可以选择,我会选择前者并设置对文件的引用。特别是,我希望它是免费注册的,但如果我能让它作为 VBA 的 com 组件工作,我想我理解这部分。
因此,如果有人可以就这两种方法提供一些建议,我将不胜感激。
【问题讨论】: