Outlook发送邮件后运行应用程序

时间:2014-07-03 14:09:45

标签: email outlook

我们有一个自动流程,可以从Avaya CMS中提取呼叫数据,并将数据编译成基于电子邮件的报告。该报告通过Outlook 2010发送。有时自动化过程失败,并生成一个主题行为“ASR - ERROR OCCURRED”的电子邮件。目前使用规则将此错误消息转发给少数人以采取纠正措施。问题是可以在Outlook中构建一个能够识别主题并执行重新启动自动化应用程序的步骤的操作吗?

有两个手动需要删除的缓存文件和一个* .exe来运行。目前我在计算机桌面上有一个* .bat文件来删除文件,然后我们必须根据报告运行的时间手动选择正确的* .exe文件。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以创建一个脚本作为Outlook规则的一部分运行,但这只适用于Outlook打开:

http://support.microsoft.com/kb/306108

这里提出了类似的问题: Outlook rule to run VBA script that runs external program

要运行该应用程序,有一个Start Application操作(2013年,不确定2010年)

答案 1 :(得分:0)

感谢您指点我正确的方向。今天有人在这方面做了一些工作并提出了这个似乎可以解决问题的方法。

Private Sub Application_ItemSend(ByVal objItem As Object,Cancel As Boolean)

Dim mi As MailItem

Dim batPath As String

Dim TMin As Integer

batPath = "C:\Users\sxxxxxx\Desktop\"


If TypeName(objItem) = "MailItem" Then

    Set mi = objItem


    If mi.Subject = "ASR - ERROR OCCURRED" Then


        Call Shell(batPath & "cms cache del.bat") 'clears all cache files and stops process

        TMin = Right(Format$(Now(), "Short Time"), 2)

        If TMin < 10 Or TMin > 30 Then    'determine based on when error occurred which report to re-run


            Call Shell(batPath & "XXXX.bat")


        Else

            Call Shell(batPath & "XXXX.bat")


        End If

    End If

End If

End Sub