【发布时间】:2019-12-21 13:27:49
【问题描述】:
我一直在使用Arr=Array(Array(),Array()) 初始化一个二维数组。
但我发现会触发运行时错误 5 - 无效的过程调用或参数。
代码已使用多年,昨天出现问题,所以我认为这可能是 MS Office 或 Windows 的某些更新的结果。
更新:Windows 10、Windows 7 存在该错误,但 Windows Vista 不存在。
重现错误:
Sub foo()
Dim Arr As Variant
Arr = Array(Array(), Array())
End Sub
【问题讨论】:
-
没有复制,但这似乎是一种非常奇怪的创建数组的方式。为什么不是
Dim,然后是ReDim? -
我认为这是一种方便灵活的方式来声明一个动态二维数组。也许这不是正确的方法。
-
@BigBen
ReDim适用于一维数组,但不适用于二维数组。我质疑在Recordset上使用数组。 -
@MathieuGuindon 这是关于二维数组的一个很好的观点。但是是的......不确定OP到底想要做什么。
标签: arrays vba ms-access runtime-error