调试规则触发的Outlook 2007脚本

时间:2011-02-17 12:51:25

标签: vba outlook outlook-vba outlook-2007

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

该脚本实际上是Sub对象中的ThisOutlookSession

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

我做错了什么?

更新

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

2 个答案:

答案 0 :(得分:11)

我认为你可能没有做错任何事,因为我经历过完全相同的行为。

但是,为了调试您的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

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

答案 1 :(得分:0)

任何现有项目都可以用于测试需要其中一项的代码。

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