【问题标题】:Catching a compile error in a subroutine in VBA在 VBA 的子例程中捕获编译错误
【发布时间】:2016-04-29 08:47:23
【问题描述】:

我非常感谢您对此的帮助。 我们正在使用 Excel VBA 制作一些应用程序,有时,一个文件中的例程调用另一个文件中的例程。

Application.Run ActiveWorkbook.Name & "!SomeOtherRoutine"

我的问题是,另一个例程有一个编译错误(End If 缺失)。所以整个过程当然崩溃了。但是作为一个编译错误,这个错误不能被错误处理程序捕获。

有没有办法捕捉到这种错误,所以我的代码不会被中断?

【问题讨论】:

  • 你试过自己运行子程序吗? IE。踢自己,而不是被最初的例行程序踢掉。
  • 你能把导致错误的功能代码贴出来吗,最好的办法是修复它。
  • 不,我没有,那是我同事写的子程序。显然他不是自己运行的,我信任他 :-D 我知道,这可以通过测试子程序本身来解决,但在这种情况下还没有完成。我的问题完全是出于目的,如果我能发现这种人为失败的错误。
  • 不——错误处理程序用于捕获运行时错误。编译错误必须运行的代码之前修复。您可以通过 Debug -> Compile 手动编译模块并进行检查。
  • 一种预期的答案,但仍然令人心碎。非常感谢。

标签: vba excel compiler-errors


【解决方案1】:

您需要在开始使用之前手动编译该项目。这样,您可以扫描整个代码以查找语法错误,而将其他类型的错误留给您的代码处理程序处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多