有没有可能从Excel 2007中调用.NET代码?
我需要从Excel 2007中调用一些.NET代码,并且正在寻找最佳方法。
官方的“微软认可”方法似乎涉及Visual Studio 2008 Professional,但我没有。 我有VS2005,但加上VSTO 2005 SE只能做应用程序级的加载项,而不是文档级的macros。
这个问题涉及一些.NET程序集分析代码。 我想通过更改Excel工作表中的某些单元格来操作它。
任何其他的想法?
您可以将您的.NET对象作为COM对象公开,然后从VBA中调用它们。
这个链接的最后一篇文章有一些代码:
http://bytes.com/groups/ms-access/205532-calling-c-net-dll-vba
您可以使用Excel-DNA – 一个独立的开源项目来将.NET集成到Excel中。 它允许使用托pipe代码创buildExcel加载项,包括高性能的用户定义函数。 它只需要.NET 2.0或更高版本,所以你的VS 2005将会很好。
(免责声明:我是Excel-DNA的开发者。)
您可以(轻松地)从VBA调用任何COM组件; 你也可以(不那么容易)调用其他的DLL等 – 甚至系统DLL。
如果你为你的.NET DLL创build一个COM包装器,你可以从VBA中调用这些包装器。 你可以用VS2005来完成,但是涉及的工作量取决于DLL的API的复杂性。