您的位置:首页 > 编程语言 > VB

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

2019-06-08 00:36 3571 查看

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: