创建对象( "System.Collections.ArrayList" ) 错误的替代解决方案 -2146232576 (80131700)



My VBA:

Dim numericColumnNames As Object
Set numericColumnNames = CreateObject("System.Collections.ArrayList")

第二行触发:

运行时错误'-2146232576(80131700(':
自动化错误。

我发现了这个。这是唯一的解决方案吗?我可以使用其他对象吗?如何避免安装额外的软件包?致";安装附加包">对于最终用户来说真的很令人沮丧。

不能仅将任何.NET对象添加到VBA工程中。只能在VBA中使用COM可见对象。您可以围绕要使用的任何.NET方法编写COM包装,但需要在将要使用VBA代码的每个系统上注册该DLL。这是一项艰巨的工作,对你来说是徒劳的。

即使你可以,文档告诉你根本不要使用这个对象:

重要

我们不建议您将ArrayList类用于发展相反,我们建议您使用通用列表班ArrayList类被设计用于容纳异构对象的集合。

因此,答案是使用VBACollection对象。

Dim numericColumnNames As New Collection

相关内容

最新更新