Vba 如何正确调试静默故障?

Vba 如何正确调试静默故障?,vba,outlook,Vba,Outlook,为了简单起见,我给自己写了一个小消息过滤器 Sub MyFilter(Item As Outlook.MailItem) MsgBog ("MyFilter: " & Item.Subject) End Sub ,我想通过宏进行测试 Sub TestMyFilter() Dim objItem As Outlook.MailItem For Each objItem In Application.ActiveExplorer.Selection

为了简单起见,我给自己写了一个小消息过滤器

Sub MyFilter(Item As Outlook.MailItem)
    MsgBog ("MyFilter: " & Item.Subject)
End Sub
,我想通过宏进行测试

Sub TestMyFilter()
    Dim objItem As Outlook.MailItem
    For Each objItem In Application.ActiveExplorer.Selection
        MsgBox ("objItem: " & objItem.Subject)
        MyFilter (objItem)
        MsgBox ("done")
    Next
End Sub
分配给按钮的。当我选择一封(或多封)邮件并让按钮运行
TestMyFilter
时,我会看到所选第一封邮件的第一个消息框,但之后不会发生其他任何事情。在调试模式下,最后执行的行是
MyFilter(objItem)
,之后按F8键只会导致执行结束,没有任何输出或错误


如何确定问题?同时,我发现我忘了调用子
MyFilter
,但我应该知道吗?

在VBE中有一个选项“在所有错误时中断”。这是在其他方法都不起作用时的做法:-)

通常,您不必在声明之前编写
call
。它应该像现在这样工作,但是去掉括号,我怀疑这就是问题所在。对于您的问题,在VBE中有一个选项可以“在所有错误时中断”@iDevlop谢谢,“在所有错误时中断”应该是可接受的答案。实际上,您可以这样发布它吗?