C# 在C中引用VBA程序集#
如何在Visual Studio 2010的C#应用程序中引用VBA程序集 我在“添加引用”对话框中找不到它 这就是我需要它的原因: 错误1在未引用的程序集中定义了类型“VBA.Collection”。必须添加对程序集“VBA,版本=6.0.0.0,区域性=中性,PublicKeyToken=null”的引用C# 在C中引用VBA程序集#,c#,vba,assembly-references,C#,Vba,Assembly References,如何在Visual Studio 2010的C#应用程序中引用VBA程序集 我在“添加引用”对话框中找不到它 这就是我需要它的原因: 错误1在未引用的程序集中定义了类型“VBA.Collection”。必须添加对程序集“VBA,版本=6.0.0.0,区域性=中性,PublicKeyToken=null”的引用 在C#中确实不需要VBA.Collection类型,可以使用更好的集合结构。 泛型。列表,泛型。字典等,如果你看看这些,你很可能会找到你需要的 这些类型是强类型的,因此您不会强制转换为其他
在C#中确实不需要VBA.Collection类型,可以使用更好的集合结构。 泛型。列表,泛型。字典等,如果你看看这些,你很可能会找到你需要的 这些类型是强类型的,因此您不会强制转换为其他类型。如果需要VBA“Variant”类型,可以使用哈希表。“assembly”是一组打包在公共DLL或EXE中的.NET函数。VBA不是.NET,因此它不作为程序集存在。但是,您可以通过COM互操作层访问VBA组件 我想你可能在找这个
VBA有很多版本,集成在各种应用程序中。根据版本号,我猜您需要使用Project+添加引用,浏览选项卡,选择c:\windows\system32\msvbvm60.dll。这是VB6的运行时支持模块。它在VBA命名空间中确实有一个集合类
请尝试再次检查组件是否是用VB6编写的。部署可能会很有趣。我同意。但问题是,我正在使用的COM正在返回VBA.CollectionI我认为这就是答案。另一个可能导致“System.InvalidCastException”。