后期绑定一个数组

6 c# arrays com excel vba

我很难,因为我在VBA中后期绑定一个数组时找不到任何东西.这甚至可能吗?如果有,怎么样?如果没有 - 为什么?

注意:我不介意是否可以使用原生的.Net/C#类型

Dim o as Object
set o = CreateObject("System.Array")
Run Code Online (Sandbox Code Playgroud)

尽管System.ArrayCOM是可见的,但似乎无法实例化它.

知道如何在VBA中后期绑定数组数据类型吗?

请不要提及字典或集合,因为这个问题对数组非常具体


附加信息:

这是对我的另一个问题的跟进.由于似乎不可能在没有循环的情况下将本机VBA数组传递给本机.Net集合,我只是想知道是否可以将数组延迟绑定为似乎安全的数据,这意味着它们是兼容的,因此将VBA数组传输到.网络是可能的 - 如果我完全错了,请纠正我.

Han*_*ant 3

  set o = CreateObject("System.Array")
Run Code Online (Sandbox Code Playgroud)

System.Array 是一个抽象类。所以不,这不可能行得通。数组类型很特殊,它们通常由编译器创建。后门是 Type.MakeArrayType(),您可以构造后门。

没有你想用的东西。不要太努力,任何 VBA 数组都已转换为 System.Array。它通常是一个不符合规范的数组,第一个元素不在索引 0 处。VBA 喜欢 1,除非您使用类似Dim arr(0 To 3) As DoubleOption Base 0有效的语法。使用 Array.GetValue() 访问不符合规范的数组并不总是可行。查看您的其他问题以获取示例访问器包装器。