问题让Outlook 2007运行VBA脚本

Cyb*_*ist 1 outlook vba outlook-vba outlook-2007

我正在尝试让Outlook将附件保存在每日电子邮件中,以便我可以让文件系统观察器准备好解析和分析附件(这是数据完整性检查程序的报告).我已经设置了一个应该运行VBA脚本的规则,但它并没有尽我所能.我已经在VB6中验证了代码实际上会将一些文本保存到文件中,因此如果Outlook实际运行VBA脚本,它应该能够执行相同的操作.但事实并非如此!任何人都可以看到我做错了什么?

Dim WithEvents objInbox As Outlook.Items

Private Sub Application_Startup()
   Set objInbox = Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Sub SnagAttachment(theItem As MailItem)
    On Error Resume Next
    Dim fnum As Integer
    fnum = FreeFile()
    Open "c:\temp\success.txt" For Output As #fnum
    Print #fnum, "Ran SnagAttachment Successfully"
    Close #fnum
End Sub
Run Code Online (Sandbox Code Playgroud)

请注意,当我使用规则向导并选择"运行脚本"时,Sub SnagAttachment将列为可以选择的脚本.

Jim*_*ena 5

当你放在On Error Resume Next程序的顶端时,你怎么知道它是否有效?你永远不会发现.

以下是创建应作为规则的一部分运行的脚本的规则:

如何在Outlook中为规则向导创建脚本

另请注意在如何处理Microsoft Outlook中的传入邮件中发现的警告:

对于繁重的流量应用程序,"运行脚本"规则不是一个好的选择,因为如果太多的项目到达符合规则的条件,Outlook可能会跳过应用规则.