【发布时间】:2013-08-09 04:27:15
【问题描述】:
如何将用户定义的类类型 ByRef 的数组从 excel vba 传递到 vb.net?我有一个类似的帖子处理传递双数组here,我尝试对我的 UDT 使用相同的方法,但它不起作用。有什么想法吗?
【问题讨论】:
-
作为一个快速的解决方案,你总是可以将它写入一个文本/excel文件并让.Net打开它......否则,你需要解释更多关于你想如何传递它...... . 您是用 VBA 编写并调用 .Net 程序还是用 .Net 编写并使用 Excel 作为中间步骤?
-
我有一个 .net 类库,我使 COM 可见,以便在 excel 中访问。我创建了一个类的实例并尝试调用一个 Sub 例程,该例程将另一个 UDT 类的数组作为参数,对数组的元素执行操作,然后返回数组。
-
据我所知,我不确定您是否可以。 UDT 不是对象。您可以尝试重构您的 VBA 代码并使 UDT 成为一个类,然后传递给 VB Variant,然后任何方法调用都将是后期绑定的。但是,我不确定这是否可行。问题是你的 VBA 代码无法导出定义类的信息(即在哪里调用这样那样的方法)。相比之下,VB/C# 可以处理双精度数组/集合,因为它们遵循标准/可以分别引用类型库。如果您使用的是 VB.NET,为什么需要任何 VBA 代码?
-
我正在更新一些以前都在 excel vba 中的旧代码。该程序从 excel 单元格中获取各种信息,写入 excel 单元格,并在程序运行时在图表上进行可视化显示。