迟绑定一个数组

我很难 ,因为我无法find任何关于在VBA中绑定数组的问题。 这甚至有可能吗? 如果是的话,怎么样? 如果不是 – 为什么?

注意:我不介意使用像.Net / C#这样的原生types

Dim o as Object set o = CreateObject("System.Array") 

即使System.Array是COM可见 ,似乎不可能实例化它。

任何想法如何延迟绑定VBA中的数组数据types?

请不要提及Dictionary或Collections,因为这个问题对于数组非常具体


附加信息:

这是我的另一个问题的后续行动。 由于似乎不可能将本地VBA数组传递到本地.Net集合而不循环,我只是想知道是否有可能延迟绑定一个数组,因为两者似乎都是安全的,这意味着它们是兼容的,因此将一个VBA数组传递给一个。净一个将是可能的 – 请纠正我,如果我完全错了。

  set o = CreateObject("System.Array") 

System.Array是一个抽象类。 所以不,那不可能工作。 数组types是特殊的,它们通常由编译器创build。 后门是Type.MakeArrayType(),你可以构造一个。

没有你想要使用的。 不要这么努力,任何VBA数组已经转换为System.Array。 它通常是一个不符合数组的数组,在索引0处没有它的第一个元素。除非使用类似于Dim arr(0 To 3) As Double这样的语法,或者使Option Base 0有效,否则VBA类似于1。 不总是可能的,使用Array.GetValue()来访问一个不符合的数组。 查看示例存取器包装器的其他问题 。