如何从Excel VBA调用.NET方法?
- 论坛
- 如何从Excel VBA调用.NET方法?
11 浏览
如何从Excel VBA调用.NET方法?
我找到了一种方法可以直接从VBA代码中调用.NET 2代码:
Dim clr As mscoree.CorRuntimeHost Set clr = New mscoree.CorRuntimeHost clr.Start Dim domain As mscorlib.AppDomain clr.GetDefaultDomain domain Dim myInstanceOfDotNetClass As Object Set myInstanceOfDotNetClass = domain.CreateInstanceFrom("SomeDotNetAssembly.dll", "Namespace.Typename").Unwrap Call myInstanceOfDotNetClass.ExecuteSomeDotNetMethod
我使用工具->引用在Excel VBA中添加了对mscoree.tlb和mscorlib.tlb的引用。
这适用于.NET CLR 2组件,支持. NET Framework版本3.5。
我需要使其适用于.NET 4。
我了解到.NET CLR4引入了另一种与版本无关的创建运行时实例的方式,并且我找到了一个用C++编写的代码示例:
http://dev.widemeadows.de/2014/02/04/hosting-the-net-4-runtime-in-a-native-process/
我的Excel VBA技能不足以翻译这几行代码。