只能在数组和集合的定义范围内访问元素和成员。 此错误的原因及解决方案如下:
-
引用了不存在的数组元素。 下标可能大于或小于可能的下标范围,或者此时没有在应用程序中为数组分配维度。 检查数组,验证其上下限范围。 如果您正在使用被重新设置维度的数组,则使用 UBound 和 LBound 设置数组访问条件。 如果索引被指定为,请检查变量名称的拼写。
-
您声明了数组,但没有指定元素数。 例如,以下代码将导致此错误:
Visual Basic 未隐式将未指定数组的维度范围设置为 0-10。 相反,您必须使用 Dim 或 ReDim 显式指定数组中的元素数。
-
引用了不存在的集合成员。 尝试使用 For Each...Next 构造而非指定索引元素。
-
使用了下标的简写形式,这会隐式指定无效元素。 例如,将 ! 运算符用于集合时, ! 隐式指定一个键。 例如 object!keyname. value 相当于 object. item (keyname). value。 在此情况下,如果 keyname 表示集合中的无效键,则会发生错误。 要修复此错误,可以对集合使用有效的键名称或索引。
有兴趣开发跨扩展 Office 体验的解决方案吗? 查看新的 。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 ,获取有关如何接收支持和提供反馈的指南。