需要从excel列表中向多个收件人发送单独的电子邮件

时间:2019-04-10 04:38:25

标签: excel vba outlook-vba

我有很多人。我想将所有电子邮件作为单独的邮件发送给所有人。需要动态更改主题,正文和收件人。

我尝试使用vba并执行此操作。但是我不知道如何动态地改变主题和身体。另外我如何在体内输入多行?

我不希望向所有收件人发送相同的邮件。Image shows the field names in excel 我需要在主题中包含名字和姓氏的第一个字母。并在正文中的第一行包括“嗨”姓氏。.个人邮件进入“收件人”字段,专业名称为“抄送”

1 个答案:

答案 0 :(得分:0)

尝试一下:

'Initialize objects
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem

Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)



With objOutlookMsg
  .To = ws.Range("A1") 'Assuming TO mail addresses are located here and separated with ";"
  .CC = ws.Range("B1") 'Assuming TO mail addresses are located here and separated with ";"
  .Subject = ws.Range("C1") 'Assuming subject is declared here
  .HTMLBody = ws.Range("D1") 'Assuming body is declared here
  If address_attachment_line.Value <> "" Then
    .Attachments.Add FilePath & FileName
  End If
  .Display
End With

通过将动态信息存储在代码所引用的范围内,您可以控制单个邮件。

此外,要在正文中使用换行符,只需将标签<br>解释为HTML内容即可。

希望这对您有帮助!