VBA代码,用于从Outlook中的辅助电子邮件地址发送电子邮件

时间:2014-10-17 14:32:05

标签: excel vba email excel-vba outlook

我在W7 x64上使用Excel 2010,并使用Ron de Bruin的代码从Outlook发送电子邮件。我有一个我发送的个人和群组电子邮件地址,我正在寻找一种通过在VBA中更改它来从群组地址发送的方式。

辅助地址未在Outlook中设置为实际帐户。如果我转到Outlook中的文件 - 帐户设置,则只列出一个电子邮件帐户。群组电子邮件地址只是转发给群组。

我为组框创建了一个实际帐户,并在VBA中添加了对Microsoft Outlook对象库的引用,并添加了使用MailItem.SendUsingAccount属性在帐户1或2之间进行选择的代码,但Outlook在尝试时会冻结从这个地址发送。

当我发送电子邮件时,我可以在Outlook的下拉框中选择我的个人和群组电子邮件。是否有其他方法可以在VBA中执行此操作而无需设置第二个帐户?

2 个答案:

答案 0 :(得分:2)

您可以使用outlook的.SentOnBehalfOfName属性以其他用户的名义发送邮件。 请查看以下代码和网址以获取更多详细信息: http://www.slipstick.com/developer/code-samples/send-email-address-vba/

oMail.SentOnBehalfOfName = "user@domain.com"

答案 1 :(得分:0)

SendUsingAccount 对我有用。

    For Each acc In OutApp.Session.Accounts
        If acc = frmMain.cmbxSendFrom.Text Then
             .SendUsingAccount  = acc 
        End If
    Next acc