VBA信息获取与处理专题五第三节:发送带附件的电子邮件
《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。
教程共两册,二十个专题。今日分享内容是:VBA信息获取与处理专题五第三节:发送带附件的电子邮件
【分享成果,随喜正能量】329有的人心大,什么都能装,所以烦恼很少,有的人心小,稍微装点东西就觉得撑的难受。所以快乐也好,烦恼也好,不是看外界,而是看自己的心界。
专题五 VBA利用CDO发送电子邮件
第三节 发送带附件的电子邮件
在上两讲中我们讲了简单邮件的发送,我们这讲的内容是讲解如何发送带附件的电子邮件。仍是利用上一讲中的自定义函数,这个自定义函数中包含了附件的处理。
1 发送带附件电子邮件的代码
为了实现附件的发送,我们看下面的代码:
Sub myNZB()
'带附件的邮件发送
Dim mySubject As String
Dim myFromAddress As String
Dim mySMTP_Server As String
Dim myToAddress As String
Dim myBodyFileName As String
Dim myMailsendpassword As String
'定义邮件主题
mySubject = "安全生产通知"
'定义发送邮箱
myFromAddress = "VBA6337@126.com"
mySMTP_Server = "smtp.126.com"
myMailsendpassword = "CUIAYZSDHOYZPH**" '授权码
'定义收件邮件地址
myToAddress = "VBA6337@OUTLOOK.COM"
'定义邮件内容
myBodyFileName = ""
'定义附件
myBRR = Array("D:\06VBA信息获取与处理(修订二版)\005关于安全生产的通知.TXT", "D:\06VBA信息获取与处理(修订二版)\005关于安全生产的通知.docx")
****
If NN = True Then
MsgBox "邮件发送成功!"
Else
MsgBox "邮件没有发送成功!"
End If
End Sub
代码的截图:

2 发送带附件电子邮件代码的讲解
1) '定义附件
myBRR = Array("D:\06VBA信息获取与处理(修订二版)\005关于安全生产的通知.TXT", "D:\06VBA信息获取与处理(修订二版)\005关于安全生产的通知.docx")
大家要留意,这个参数我定义了两个附件,一个是005关于安全生产的通知.TXT,一个是005关于安全生产的通知.docx,这两个附件有数组的形式进行了封装。
2)NN = SendEMailC(Subject:=mySubject, FromAddress:=myFromAddress, _
ToAddress:=myToAddress, MailBody:="", _
SMTP_Server:=mySMTP_Server, BodyFileName:=myBodyFileName, Mailsendpassword:=myMailsendpassword, Attachments:=myBRR)
以上代码中变量myBRR传递给了参数Attachments,这个参数是处理附件的,
3) If IsArray(Attachments) = True Then
' 附加附件的所有文件.
For N = LBound(Attachments) To UBound(Attachments)
' 如果为数组将每个文件传入
If Attachments(N) <> vbNullString Then
If Dir(Attachments(N), vbNormal) <> vbNullString Then
.AddAttachment Attachments(N)
End If
End If
Next
Else
' 不为数组则传入文件
If Attachments <> vbNullString Then
If Dir(CStr(Attachments), vbNormal) <> vbNullString Then
.AddAttachment Attachments
End If
End If
End If
以上代码是在邮件中添加附件,在添加前会确认附件是否存在。
3 发送附件电子邮件的实现效果
最后我们点击按钮发送电子邮件:

我们在OUTLOOK邮箱中查看邮件:

本节知识点回向:如何实现带附件的电子邮件发送?
本专题参考程序文件:005工作表.XLSM
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:



