Excel VBA 通过outlook批量发邮件( 带有附件)

2025-10-01 02:28:31

1、启用excel宏

Excel VBA 通过outlook批量发邮件( 带有附件)

2、打开开发工具

Excel VBA 通过outlook批量发邮件( 带有附件)

3、插入按钮

Excel VBA 通过outlook批量发邮件( 带有附件)

4、打开VBA

1:按住Alt键 加 F11键

2:在开发工具中点击“Visual Basic”

5、输入VBA代码:

Private Sub 按钮1_Click() '对按钮进行编程 复制下面的代码

'要能正确发送并需要对Microseft Outlook进行有效配置

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 = "<H3><B>你好:</B></H3>" & _

              "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<br>" & _

              "<br><br><B></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 VBA 通过outlook批量发邮件( 带有附件)

6、设置excel

第一列是收件人邮箱:可以用分号,添加多个联系人

第二列是抄送者邮箱:

第三列是邮件主题

第四列是邮件内容

第五列是附件链接,请插入相应文件的链接

Excel VBA 通过outlook批量发邮件( 带有附件)

7、输入好后,点击按钮,批量发送邮件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢