【发布时间】:2021-08-10 04:40:41
【问题描述】:
我正在编写一个大型 VBA 程序,并试图想出一种方法来向用户显示错误,让他们知道错误发生在代码中的哪个位置。使用内置的 Err.Raise 函数会生成一个运行时错误并将其显示给用户,这当然允许他们单击“调试”并打开编辑器,但我想让他们使用“继续”按钮继续运行代码,但它是灰色的:
Google 和 official documentation 不提供任何信息。有谁知道如何激活继续按钮,还是我坚持创建自己的处理程序,只显示错误的行号?
【问题讨论】:
-
出现错误时,您希望它如何继续?你最好在错误发生之前检查它的可能性并防止它出错。如果他们需要查看哪一行,只需点击 DEBUG。
-
@braX 也许我应该更具体地说,这是我检查错误可能性的地方。如果用户在其不支持的数据上使用该程序,则会出现这种情况,但可以跳过坏部分。我不需要标准错误的“继续”按钮,就在我调用 Err.Raise 时——基本上是一个带有“调试”按钮的更高级的 MsgBox。在这种情况下,我需要“继续”就像“继续下一个”语句
-
将有助于显示您正在使用的代码,并在您提出错误后添加更多关于您希望用户对代码执行的操作的详细信息。正如@braX 所指出的 - 没有用户以某种方式编辑代码,就没有“继续”。
-
@TimWilliams 澄清一下,在这种情况下,我不希望用户对代码做任何事情。我想继续按钮会像内置的“On Error Resume Next”语句一样跳到下一行。我想“继续”按钮的存在意味着有某种使用它的方法——但 VBA 是一个奇怪的东西:)
-
我觉得你想错了?
标签: excel vba error-handling