如何在Visual Studio 2010中引用C#应用程序中的VBA程序集?
我在“添加引用”对话框中找不到它。
这就是我需要它的原因:
错误1类型“VBA.Collection”在未引用的程序集中定义。您必须添加对程序集“VBA,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = null”的引用。 ......
答案 0 :(得分:4)
VBA有很多版本,集成在各种应用程序中。按版本号,我猜你需要使用Project + Add Reference,Browse选项卡,选择c:\ windows \ system32 \ msvbvm60.dll。这是VB6的运行时支持模块。它确实在VBA名称空间中有一个Collection类。
请尝试仔细检查组件是否是用VB6编写的。部署可能很有趣。
答案 1 :(得分:1)
“程序集”是一组打包在公共DLL或EXE中的.NET函数。 VBA不是.NET,因此它不作为程序集存在。但是,您可以通过COM Interop层访问VBA组件。
我认为你正在寻找的是这个
答案 2 :(得分:0)
你真的不需要C#中的VBA.Collection类型,你有更好的收集结构可用。 Generic.List,Generic.Dictionary等,如果你看看那些你很有可能找到你需要的东西。
这些是强类型的,因此您不会转换为其他类型。如果您需要VBA“Variant”类型,则可以使用HashTable。