有没有什么可以抑制VBA中的错误?

时间:2017-08-24 08:25:35

标签: vba

在Word中我运行的宏有时会触发错误对话框。在PHP中,我习惯使用@command语法,这会导致错误时不会将错误打印到输出。是否有类似的东西阻止VBA调试器停止工作?

我的代码是

Documents.Add.Content.Paste

我想创建代码,它会测试结果是否有效,而不会破坏调试器并打印错误。如果失败,我会创建计时器1s,然后再次尝试命令。

修改

当前代码:

On Error GoTo ErrHandler
Documents.Add.Content.Paste
If False Then
ErrHandler:
  ' Add a delay
  Dim tmpStart
  tmpStart = Timer
  Do
    DoEvents
  Loop While (tmpStart + 1) > Timer
  Documents.Add.Content.Paste
End If

当前错误发生在第11行:4605 - 属性不可用,因为剪贴板为空或已损坏

1 个答案:

答案 0 :(得分:2)

在您的子程序或功能中,插入第一行:

    On Error Resume Next

或者如果你想处理错误:

    On Error Goto ErrHandler

    If False Then
    ErrHandler:
        MsgBox Err.Description
        Exit Sub ' Or Exit Function
    End If