小编use*_*691的帖子

Canonical:如何从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
Run Code Online (Sandbox Code Playgroud)

(为了使这段代码工作,我想在Excel中使用工具 - >引用...将对mscoree.tlb和mscorlib.tlb的引用添加到Excel VBA)

但这仅适用于.NET CLR 2程序集,最高可达.NET Framework 3.5版.

现在我需要使用.NET 4.

我已经了解.NET CLR4引入了另一种与版本无关的创建运行时实例的方法,我还发现了一个用C++编写的相当简单的代码示例:http: //dev.widemeadows.de/2014/02/ 04 /托管最净-4-运行时在-一个天然过程/

但是我的Excel VBA技能还不足以将这几行代码转换为工作的VBA makro.有人能帮帮我吗?

.net c# clr vba runtime

22
推荐指数
4
解决办法
2万
查看次数

标签 统计

.net ×1

c# ×1

clr ×1

runtime ×1

vba ×1