Outlook VBA为联系人列表中的每个联系人组创建新的草稿电子邮件

时间:2013-05-13 20:00:50

标签: vba outlook outlook-vba

是否有

的VBA脚本
  • 为每个联系人群组创建草稿电子邮件
  • 联系人组的联系人位于“收件人”字段
  • 有一个统一的主题
  • 拥有统一的身体
  • ...如果正文包含签名
  • 则奖励

背景 在我的联系人列表中,我有大约50个联系人组,每个联系人组代表一个客户端,每个包含多个联系人每月一次,我必须通过电子邮件将发票邮寄给每个客户。这目前需要

  • 为50个联系人群组中的每一个创建电子邮件
  • 将主题行复制到50个草稿中的每一个
  • 将身体复制到50个草稿中的每一个

我发现有很多关于通过VBA创建电子邮件的参考资料,但没有任何关于使用联系人组来为其提供电子邮件的信息。

    Sub NewEmail()
    Dim myOutlook As Outlook.Application
    Dim objMailMessage As Outlook.MailItem
    Set myOutlook = Outlook.Application
    Set objMailMessage = myOutlook.CreateItem(0)
        With objMailMessage
            .To = "" '?
            .Subject = "Email subject"
            .Body = "Email body." 'Msg + Signature?
            .Display
            .Save
            .Close olPromptForSave
        End With
    End Sub

1 个答案:

答案 0 :(得分:1)

在代码的开头,您需要添加对“联系人组”的引用。我们假设您有一个名为'Grupa Testowa'(英语为'测试组')。所以,用这种方式修改你的代码:

Sub NewEmail()
    'new part of the code here
    Dim CF As Folder
    Set CF = Application.Session.GetDefaultFolder(olFolderContacts)

    Dim DLI As DistListItem
    Set DLI = CF.items("Grupa Testowa")

    'your code here with one modification within With...End With
    With objMailMessage
        .To = DLI
    '...rest of your code
    End with
End sub

有关详细信息,请查看MSDN中的DistListItem Object说明。