2017-08-24 27 views
1

在一个字我运行,有时会引发错误对话框宏。在PHP有我以前用@command语法引起该错误的情况下,误差不被打印到输出。有没有类似的东西来防止VBA调试器停止工作?有什么抑制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 - 属性不可用,因为剪贴板为空或损坏

回答

2

在你的子程序或功能,插入作为第一行:

On Error Resume Next 

或者,如果你要处理的错误:

On Error Goto ErrHandler 

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

什么是贴法的结果呢?是否有可能做类似'result = Documents.Add.Content.Paste;如果结果= -1然后...' – user1141649

+0

如果您调用的方法/子例程/函数返回某些内容,则只能将结果赋值给某些内容,请检查文档,你可以将结果分配给Content.Paste,但可能不是Documents.Add – SPlatten

+0

Document.Add的返回值是文档 – user1141649