我需要使用以下命令捕获一些 VBA 错误GoTo
陈述:
Sub mySub
On Error GoTo errorHandler:
Workbooks.Open("myWorkbook")
'
' Some Code
'
errorHandler:
MsgBox "ERROR"
End Sub
问题是当没有错误时errorHandler
部分被执行。
我发现这次讨论 https://stackoverflow.com/questions/1099177/why-vba-goes-to-error-handling-code-when-there-is-no-error但答案并不能解决我的问题。
我尝试添加一个Exit Sub
声明解释如下:
Sub mySub
On Error GoTo errorHandler:
Workbooks.Open("myWorkbook")
Exit Sub
'
' Some Code
'
errorHandler:
MsgBox "ERROR"
End Sub
在这种情况下,如果没有错误,它就会退出该方法。
我也尝试过:
Sub mySub
On Error GoTo errorHandler:
Workbooks.Open("myWorkbook")
'
' Some Code
'
errorHandler:
MsgBox "ERROR"
Exit Sub
End Sub
但仍然是同样的问题:errorHandler
即使没有发生错误也会执行。
只需将 Exit sub 放入即可。
Sub mySub
On Error GoTo myHandler:
Workbooks.Open("myWorkbook")
'
' Some Code
'
Exit sub
myHandler:
MsgBox "EROOR !"
err.clear
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)