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实现批量一对一发邮件的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA Excel 浏览文件夹以在 Outlook 邮件中附加文件 [重复]
VBA:将表格从 Excel 发送到 Outlook [重复]
如何使用 Excel VBA 打开 Outlook excel 附件,在特定时间范围内发送到特定 Outlook 文件夹?