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实践经验,全部浓缩在下面的各个教程中,教程学习顺序:

相关推荐
少云清2 分钟前
【接口测试】3_Dubbo接口 _Telnet或python远程调用Dubbo接口
开发语言·python·dubbo·接口测试
盒子69104 分钟前
【golang】替换 ioutil.ReadAll 为 io.ReadAll 性能会下降吗
开发语言·后端·golang
alonewolf_9910 分钟前
Java类加载机制深度解析:从双亲委派到热加载实战
java·开发语言
无限进步_38 分钟前
【数据结构&C语言】对称二叉树的递归之美:镜像世界的探索
c语言·开发语言·数据结构·c++·算法·github·visual studio
CSDN_RTKLIB1 小时前
C++取模与取余
开发语言·c++
星河耀银海1 小时前
C++开发入门——环境搭建与第一个程序
开发语言·c++·策略模式
还不秃顶的计科生1 小时前
defaultdict讲解
开发语言·javascript·ecmascript
花归去1 小时前
echarts 柱状图包含右侧进度
开发语言·前端·javascript
wjs20241 小时前
Java 数组
开发语言
码农水水1 小时前
大疆Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·面试·职场和发展·单元测试·php