首页 > 解决方案 > 如何在 MailItem 对象的 Bcc 属性中输入多个电子邮件地址?

问题描述

我的 VBA 代码发送自动电子邮件。如何填写多个电子邮件地址?

用户创建新电子邮件并填写:
收件人:一个电子邮件地址
密件抄送:电子邮件地址2,电子邮件地址3,电子邮件地址4,...

Outlook 如何分隔密件抄送属性中的每个电子邮件地址以在我的示例中发送 4 封电子邮件而不是一封。

Dim strWho As String
Dim strSubject As String
Dim objNewMail As Outlook.MailItem

Set objNewMail = Application.CreateItem(olMailItem)

strWho = objMail.To
strSubject = objMail.Subject 

With objNewMail
    .To = strWho
    .BCC = "mail2,mail3,mail4,mail5"
    .Subject = strSubject
    .Display
    .Send
End With

标签: vbaoutlook

解决方案


您应该使用分号;分隔每个邮件地址,格式如下:

"person1@email.com;person2@email.com"

如果您已经将它们输入到邮件对象中,则可以使用以下代码:

Dim strWho As String
Dim strSubject As String
Dim objNewMail As Outlook.MailItem
Dim bccMails As String

Set objNewMail = Application.CreateItem(olMailItem)

strWho = objMail.To
strSubject = objMail.Subject 
bccMails = objMail.BCC    

With objNewMail
    .To = strWho
    .BCC = bccMails
    .Subject = strSubject
    .Display
    .Send
End With

否则,您可以向用户询问一次带有 an 的邮件地址,InputBox然后为每封邮件使用该值:

Dim bccMails As String
bccMails = InputBox("Please insert .bcc email addresses, separated by semicolons", "Email Address", "person1@email.com;person2@email.com")

希望这有助于作为一个起点。


推荐阅读