【问题标题】:How to enter multiple email addresses in the Bcc property of the MailItem object?如何在 MailItem 对象的 Bcc 属性中输入多个电子邮件地址?
【发布时间】:2020-06-19 16:25:06
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

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

    "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
    

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

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

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

    【讨论】:

    • 谢谢你的建议,但是邮件不是每次都一样,创建新邮件时需要使用.Bcc什么类型的用户
    • 好的,为了实现这一点,我可以想到两种方法:在单元格中写入邮件地址或使用 InputBox。我将在我的答案中发布一些示例
    • 将它们写入单元格 - 调用“需要对象”错误 424
    • @novice 您的工作表名称应该与您在“Microsoft Excel 对象”左侧看到的相同,并且您必须在Excel Sheet 中定义range,否则将不会不行。
    • 对不起,我完全迷路了,我以为我们是在 Outlook 中,而不是在 excel 中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    • 2010-12-04
    • 2012-10-15
    相关资源
    最近更新 更多