【问题标题】:Outlook VBA error 440: “Array Index out of Bounds” or "Automation error"?Outlook VBA 错误 440:“数组索引超出范围”或“自动化错误”?
【发布时间】:2018-04-04 09:01:37
【问题描述】:

我在 Office 2016 下有一个 Outlook VBA 项目。 在运行给定的Sub 时,我得到了一个Outlook VBA error 440: “Array Index out of Bounds”(我还无法隔离一个最小的、可重现的案例)。

OTOH、official documentation 和许多其他来源指出错​​误 440 用于"Automation error"。 此外,如果我在即时窗口Err.Raise(440) 中发布,我会得到Automation error。 这对我来说似乎很奇怪。 我希望Err.Number 的给定值与Err.Description 的单个值相关联。 我的一般问题是(不管我的具体情况如何):

Err.Number 的相同值可以与Err.Description 的两个不同值相关联吗?在什么情况下? 我找不到处理这种明显模棱两可的官方文档。

PS:这个 OP 对“不清楚你在问什么”投了两票... 我想我不能更清楚地表达我的问题。

【问题讨论】:

  • 您是否在同一个测试用例中收到不同的错误消息?
  • 这个潜艇有多大。是否可以在此处发布 sub 的源代码。此外,如果您单步执行子程序,您是否能够找到引发错误的行。
  • @JamesLingham - 不。我在运行时得到这个的所有情况都是Array Index out of Bounds
  • @Alok - 不,这是不可能的。但除了代码本身,我还没有找到产生错误的系统方法。我的项目在文件夹之间移动电子邮件/对话,所以每当我成功运行它时,我的电子邮件都会改变。
  • @sancho.s 当错误弹出时,你有“调试”选项吗?从它的声音来看,逻辑存在错误,它试图访问一个不再存在的数组成员。正如你所说的宏移动电子邮件,我猜你从数组/集合中删除了一个项目,这使得数组中的索引移动并且最后一个无法访问。您能否提供一些代码来说明循环是如何定义的,以及大致执行了什么样的操作?

标签: vba error-handling runtime-error


【解决方案1】:

我正在处理一个类似的项目,当我移动一个电子邮件文件夹并且其中一封电子邮件包含在“草稿”文件夹中时收到此错误。

【讨论】:

    猜你喜欢
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    相关资源
    最近更新 更多