Excel VBA:如何在 Outlook 中向组发送电子邮件?

Posted

技术标签:

【中文标题】Excel VBA:如何在 Outlook 中向组发送电子邮件?【英文标题】:Excel VBA: How to send email to group in outlook? 【发布时间】:2017-01-09 11:13:46 【问题描述】:

我希望自动将电子邮件从 excel vba 发送到 Outlook 2013。

我可以将电子邮件发送给个人并通过 TITUS 分类,但是当我发送到群组电子邮件时仍然收到以下错误。

如何在 VBA 中选择“仍然发送”?

以下是我必须发送电子邮件的代码:

Dim AOMSOutlook As Object
Dim AOMailMsg As Object
Set AOMSOutlook = CreateObject("Outlook.Application")
Dim objUserProperty As Object
Dim OStrTITUS As String
Dim lStrInternal As String
Set AOMailMsg = AOMSOutlook.CreateItem(0)

Set objUserProperty = AOMailMsg.UserProperties.Add("TITUSAutomatedClassification", 1)
objUserProperty.Value = "TLPropertyRoot=ABCDE;Classification=Internal;Registered to:My Companies;"
With AOMailMsg
        .To = "mygroup@list.company.com"
        .Subject = "my subject"
        .Attachments.Add Img
        .htmlBody = "my text"            
        .Save
        .Send
End With
Set AOMailMsg = Nothing
Set objUserProperty = Nothing
Set AOMSOutlook = Nothing
Set lOMailMsg = Nothing
Set objUserProperty = Nothing
Set lOMSOutlook = Nothing

非常感谢任何帮助!

【问题讨论】:

这看起来是 Outlook 中的策略设置,而不是编程问题。您可以使用 SendKey.. 当您将其放在代码顶部时是否会弹出此窗口:Application.DisplayAlerts = False?您可以在代码底部将其设置回True @Chrismas007 我去看看 SendKey @MattCremeens 我尝试将 DisplayAlerts 设置为 False 并将 EnableEvents 设置为 false,但警告框仍然出现在 Outlook 中 如果你还没有,也可以看看this 【参考方案1】:

感谢@MattCremeens 能够通过添加解决:

    .display
    SendKeys "DOWNDOWNENTER", True 'set classification
    SendKeys "ENTER",True 'send to group
    .send
End With

【讨论】:

以上是关于Excel VBA:如何在 Outlook 中向组发送电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

在 Excel 中使用 VBA,如何在 Outlook 中粘贴表格然后将表格转换为文本?

如何使用 Excel VBA 打开 Outlook excel 附件,在特定时间范围内发送到特定 Outlook 文件夹?

如何更改通过 Excel VBA 代码通过 Outlook 发送的电子邮件的字体格式?

VBA 在 Outlook 中粘贴带有图表的特定 excel 范围

如何通过Excel VBA和Outlook实现自动发送邮件功能

VBA:将表格从 Excel 发送到 Outlook [重复]