Excel VBA 通过outlook批量发邮件( 带有附件)
来源:网络收集 点击: 时间:2024-05-05启用excel宏

打开开发工具

插入按钮

打开VBA
1:按住Alt键 加 F11键
或
2:在开发工具中点击“Visual Basic”
5/7输入VBA代码:
Private Sub 按钮1_Click() 对按钮进行编程 复制下面的代码
要能正确发送并需要对MicroseftOutlook进行有效配置
On Error Resume Next
Dim rowCount, endRowNo
Dim objOutlook As New Outlook.Application
Dim objMail As MailItem
Dim Signature As String
取得当前工作表与Cells(1,1)相连的数据区行数
endRowNo = Application.WorksheetFunction.CountIfs(Range(A:A), )
创建objOutlook为Outlook应用程序对象
Set objOutlook = New Outlook.Application
开始循环发送电子邮件,比如从第二行开始,第一行是标题
For rowCount = 2 To endRowNo
Set objMail = objOutlook.CreateItem(olMailItem) 创建objMail为一个邮件对象
Body = H3B你好:/B/H3 _
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXbr _
brbrB/B _
GetSignature()
With objMail
.To = Cells(rowCount, 1).Value 设置收件人地址(从Excel表的第一列邮件地址字段中获得)
.CC = Cells(rowCount, 2).Value 设置抄送人地址(从Excel表的第二列邮件地址字段中获得)
.Subject = Cells(rowCount, 3).Value Year(Now) 年 Month(Now) 月 设置邮件主题(从Excel表的第三列邮件主题字段中获得)并记录年月
.HTMLBody = Body
.HTMLBody = Cells(rowCount, 4).Value 设置邮件内容(从Excel表的第四列邮件内容字段中获得)
.Attachments.Add Cells(rowCount, 5).Value 设置附件(从Excel表的第五列附件字段中获得)
.Send
End With
Set objMail = Nothing 销毁objMail对象
Next
MsgBox (邮件全部发送完成!)
Set objOutlook = Nothing 销毁objOutlook对象
End Sub
提取邮件签名子函数
Public Function GetSignature()
Dim fso As Object
Set fso = CreateObject(Scripting.FileSystemObject)
SigPath = C:\Users\xxxxx\AppData\Roaming\Microsoft\Signatures\IT.htm
Set f_SignatureObj = fso.OpenTextFile(SigPath, 1, False, 0)
GetSignature = f_SignatureObj.ReadAll
f_SignatureObj.Close
Set fso = Nothing
End Function

设置excel
第一列是收件人邮箱:可以用分号,添加多个联系人
第二列是抄送者邮箱:
第三列是邮件主题
第四列是邮件内容
第五列是附件链接,请插入相应文件的链接

输入好后,点击按钮,批量发送邮件
注意事项excel 需要启用宏
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_683468.html