EXCEL VBA与OUTLOOK实现批量一对一发邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL VBA与OUTLOOK实现批量一对一发邮件相关的知识,希望对你有一定的参考价值。

EXCEL VBA与OUTLOOK实现批量一对一发邮件

用途:电子邮件群发工资条、系统上线账号分发、按店铺分发报表文件、批量发送面试邀请邮件、批量发送面试者的录取通知书等等

Sub sendemail()
    On Error Resume Next
    Dim i, hangshu, buchang, To_Addr$, Cc_Addr$, Bcc_Addr$, SubjectText$, htmlBodytxt$, AttachedObject1$, AttachedObject2$
    Dim objOutlook As Object
    Dim objMail As MailItem
    Set objOutlook = CreateObject("Outlook.Application")
    hangshu = 2  ‘[A65536].End(xlUp).Row
    buchang = 1

For i = 2 To hangshu Step buchang

 ‘——————————————————————————————————————————————————
 ‘——————————————————————————————————————————————————
    ‘设置收件人地址,多个地址使用","或";"间隔。
     To_Addr = "e-mail地址"

    ‘设置抄送人地址,多个地址使用","或";"间隔。
     Cc_Addr = "e-mail地址"
     Bcc_Addr = ""

    ‘设置邮件主题
    SubjectText = "邮件主题"

    ‘设置邮件附件
     AttachedObject1 = ThisWorkbook.Path & "\" & "附件.txt"
     AttachedObject2 = ThisWorkbook.Path & "\" & "附件.txt"

  ‘——————————————————————————————————————————————————
  ‘——————————————————————————————————————————————————
    ‘设置邮件内容(从通讯录表的“内容”字段中获得)

     HTMLBodytxt = "邮件内容,支持HTML代码"
     HTMLBodytxt = HTMLBodytxt + "邮件内容,支持HTML代码"

  ‘——————————————————————————————————————————————————
  ‘——————————————————————————————————————————————————
If To_Addr = "" Or SubjectText = "" Or HTMLBodytxt = "" Then
  MsgBox "请检查第" & hangshu & "行,收件人、邮件主题、邮件内容不能为空,点击确定继续下一行!"
  Else
  Set objMail = objOutlook.CreateItem(olMailItem)
   With objMail
      .To = To_Addr
    If Cc_Addr <> "" Then
      .cc = Cc_Addr
    End If
    If Bcc_Addr <> "" Then
      .BCC = Bcc_Addr
    End If
      .Subject = SubjectText
    If AttachedObject1 <> "" Then
       .Attachments.Add AttachedObject1
    End If
    If AttachedObject2 <> "" Then
       .Attachments.Add AttachedObject2
    End If
    .HTMLBody = HTMLBodytxt
    .display
   End With
  Set objMail = Nothing
End If
Next
Set objOutlook = Nothing
MsgBox (hangshu - 1) / buchang & "个数据记录发送完成!"
End Sub

技术图片

以上是关于EXCEL VBA与OUTLOOK实现批量一对一发邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用excel vba,对outlook进行操作?

使用 VBA Excel 浏览文件夹以在 Outlook 邮件中附加文件 [重复]

VBA:将表格从 Excel 发送到 Outlook [重复]

从excel vba发送outlook邮件

使用Excel VBA打开Outlook .msg文件

如何使用 Excel VBA 打开 Outlook excel 附件,在特定时间范围内发送到特定 Outlook 文件夹?