VBA以编程方式打破所有错误

spe*_*s10 1 excel vba excel-vba

我想做的是设置一个标志来从此选项: 在此处输入图片说明

为此选项:

在此处输入图片说明

原因是我在整个代码中都有错误处理程序,而在调试时,我希望能够看到错误所在。

将错误标志设置为关闭:

On Error GoTo 0
Run Code Online (Sandbox Code Playgroud)

将我带回到使用错误处理的最后一个地方,就像我正在处理的错误之前的两三个过程一样

小智 5

您没有说您正在使用哪个VBA环境。在Access中(据我所知只有在Access中),有一种非常有用的方法可以以编程方式修改“错误陷阱”设置:

Application.SetOption("Error Trapping", 2) 
Debug.Print Application.GetOption("Error Trapping") 
Run Code Online (Sandbox Code Playgroud)

我已经在外部方法上设置了错误处理的地方使用了很多次,但是我真的很想看看代码在调用堆栈中某个地方出现错误的地方。如果您在代码中的某些地方已经预料到了处理得当的错误,那么将错误陷阱全局设置为“打破所有错误”是一件很痛苦的事情,因为它总是在这些错误上停止!因此,在Access中,您可以根据需要在一个部分中切换到“打破所有错误”。

  • 这确实很有用,但问题被标记为 Excel。 (2认同)