我正在尝试调试由规则触发的 Outlook 2007 VBA 脚本。我在脚本中设置了断点,但没有被击中。

该脚本实际上是一个 Sub 在里面 ThisOutlookSession 目的。

当我在指定文件夹上运行规则时,似乎没有发生任何事情。

我究竟做错了什么?

更新:

我添加了一个 MsgBox "Processing: " & mailItem.Subject 到脚本中,当我运行规则时,它会弹出来。但是我似乎无法让脚本在断点处停止。

有帮助吗?

解决方案

我认为你可能没有做错什么,因为我也经历过完全相同的行为。

但是,为了调试您的 VBA,我建议您创建一个宏(通过“工具|宏|宏”菜单),该宏使用您在宏中创建的测试电子邮件项来调用脚本函数。

也许是这样的:

Sub TestScript()
    Dim testMail As MailItem
    Set testMail = Application.CreateItem(olMailItem)
    testMail.Subject = "Test subject"
    testMail.Body = "Test body"
    Project1.ThisOutlookSession.YourScriptForDebugging testMail
End Sub

这样,您可以再次通过该宏对话框“单步执行”宏,并进行您需要的所有调试。无论如何,它解决了我的问题。

其他提示

任何现有项目都可用于测试需要该项目的代码。

Sub passOpenItem()
    'first open an item
    codeRequiringItemParameter ActiveInspector.CurrentItem
End Sub

Sub passSeletion()
    'first select an item
    codeRequiringItemParameter ActiveExplorer.Selection(1)
End Sub

Sub codeRequiringItemParameter(itm As Object)
    Debug.Print "TypeName: " & TypeName(itm)
    Debug.Print "Class...: " & itm.Class
End Sub
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top