首页 文章

Outlook 2010规则是否对从Excel VBA发送的邮件运行?

提问于
浏览
5

我在Excel VBA中有以下基本电子邮件代码:

Dim OutAppUser      As Object  
Dim OutMailUser     As Object  
Set OutAppUser = CreateObject("Outlook.Application")  
Set OutMailUser = OutAppUser.CreateItem(0)  
With OutMailUser  
            .To = Range("Ctl_Req_Email").Value  
            .CC = ""  
            .BCC = ""  
            .Subject = TempFNUser  
            .ReadReceiptRequested = False  
            .Body = userEmailText  
            .Attachments.Add FullTempNameUser  
            .Send    'Use .Send or .Display  
End With

具有此宏的工作簿广泛分发,但电子邮件宏的实际驱动仅由少数人完成,现在电子邮件地址已经发生变化 . 我为“发送邮件后”创建了一个Outlook规则,为新电子邮件地址添加了“CC”,作为从外部重定向电子邮件的方法 . 该规则适用于手动测试电子邮件,但似乎不会对从Excel VBA代码发送的电子邮件执行操作 . 是否需要在VBA代码上编写其他内容以发送电子邮件以允许规则运行?

2 回答

  • 1

    http://www.slipstick.com/outlook/email/choosing-the-folder-to-save-a-sent-message-in/

    “VBA不适用于使用其他应用程序中的文件,发送命令或Windows资源管理器中的发送到命令创建的消息 . 发送到命令使用简单MAPI, bypasses Outlook functionality . ”

    实际上并没有说规则,但你已经看到规则被绕过 .

    如果您确实想使用规则,请让Outlook打开Excel .

  • 0

    为什么不使用新宏创建新的电子表格:

    Dim OutAppUser      As Object  
    Dim OutMailUser     As Object  
    Set OutAppUser = CreateObject("Outlook.Application")  
    Set OutMailUser = OutAppUser.CreateItem(0)  
    With OutMailUser  
                .To = Range("Ctl_Req_Email").Value  
                .CC = "New_email@address"  ' Only change to your code
                .BCC = ""  
                .Subject = TempFNUser  
                .ReadReceiptRequested = False  
                .Body = userEmailText  
                .Attachments.Add FullTempNameUser  
                .Send    'Use .Send or .Display  
    End With
    

    人们会使用旧表填写他们的数据,宏驱动程序将使用此代码来启动电子邮件 .

相关问题