Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA中是否有抑制错误的方法?_Vba - Fatal编程技术网

VBA中是否有抑制错误的方法?

VBA中是否有抑制错误的方法?,vba,Vba,总之,我运行的宏有时会触发错误对话框。在PHP中,我习惯于使用@command语法,这会导致出现错误时错误不会打印到输出中。是否有类似的方法阻止VBA调试器停止工作 我的代码是 Documents.Add.Content.Paste 我想创建代码,测试结果是否有效,而不破坏调试器并打印错误。如果失败,我将创建计时器1s,然后重试该命令 编辑: 当前代码: On Error GoTo ErrHandler Documents.Add.Content.Paste If False Then Err

总之,我运行的宏有时会触发错误对话框。在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行-属性不可用,因为剪贴板为空或已损坏

在子程序或函数中,插入作为第一行:

    On Error Resume Next
或者,如果要处理错误:

    On Error Goto ErrHandler

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

粘贴法的结果是什么?是否可以执行类似
result=Documents.Add.Content.Paste的操作;如果结果=-1,则如果调用的方法/子例程/函数返回某些内容,则只能将结果分配给某些内容。请检查文档,您可以将结果分配给内容。粘贴,但可能不是文档。AddReturn value of Document。Add is Document那么您想实现什么?我正在测试您的代码<代码>关于错误转到错误处理程序
现在错误到现在。非常感谢。