2

如何在 Visual Studio 2010 的 C# 应用程序中引用 VBA 程序集?

我在“添加引用”对话框中找不到它。

这就是我需要它的原因:

错误 1 ​​类型“VBA.Collection”在未引用的程序集中定义。您必须添加对程序集“VBA,Version=6.0.0.0,Culture=neutral,PublicKeyToken=null”的引用。...

4

3 回答 3

4

VBA 有很多版本,集成在各种应用程序中。按照版本号,我猜您需要使用 Project + Add Reference,Browse 选项卡,选择 c:\windows\system32\msvbvm60.dll。那是 VB6 的运行时支持模块。它确实在 VBA 命名空间中有一个 Collection 类。

请尝试仔细检查该组件是否是用 VB6 编写的。部署可能很有趣。

于 2010-09-05T05:57:43.857 回答
1

“程序集”是一组打包在通用 DLL 或 EXE 中的 .NET 函数。VBA 不是 .NET,因此它不作为程序集存在。但是,您可以通过 COM 互操作层访问 VBA 组件。

我认为你可能正在寻找的是这个

http://support.microsoft.com/?kbid=323737

于 2010-09-05T05:18:55.813 回答
0

你真的不需要 C# 中的 VBA.Collection 类型,你有更好的集合构造可用。Generic.List、Generic.Dictionary 等,如果您查看这些内容,您很可能会找到您需要的内容。

这些是强类型的,因此您不会强制转换为其他类型。如果你需要 VBA “Variant”类型,你可以使用 HashTable。

于 2010-09-05T05:18:52.287 回答