调试由规则触发的 Outlook 2007 脚本
-
14-11-2019 - |
题
我正在尝试调试由规则触发的 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
不隶属于 StackOverflow