在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 - 属性不可用,因为剪贴板为空或已损坏
答案 0 :(得分:2)
在您的子程序或功能中,插入第一行:
On Error Resume Next
或者如果你想处理错误:
On Error Goto ErrHandler
If False Then
ErrHandler:
MsgBox Err.Description
Exit Sub ' Or Exit Function
End If