任何人在 VB.Net 2010 中都有一个完整的示例,但与此不同:
http://blogs.msdn.com/b/pstubbs/archive/2004/12/31/344964.aspx http://blogs.msdn.com/b/eric_carter/archive/2004/12/01/273127.aspx 如何使用 VSTO 插件项目轻松创建 Excel UDF
正如您链接到的 StackOverflow 问题“如何使用 VSTO 插件项目轻松创建 Excel UDF”所解释的那样,VSTO 不支持为 Excel 创建 UDF。VB.NET 的替代方案是根据您的其他链接制作 COM 自动化插件,或者使用免费的Excel-DNA库(我开发的)之类的东西。
使用Excel-DNA制作 Excel UDF 的最简单方法是:
您的第一个 VB.NET 函数可能如下所示:
Imports ExcelDna.Integration
Public Module MyFunctions
<ExcelFunction(Description:="My first .NET function")> _
Public Function SayHello(name As String) As String
Return "Hello " & name
End Function
End Module
然后在 Excel 中照常输入 UDF:
并按“Enter”查看结果:
Patrick O'Beirne提供了使用 Excel-DNA 将代码从 VBA 移植到 VB.NET 的出色指南。