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

相关推荐
Vertira4 分钟前
C# 函数封装成 DLL,
开发语言·c#
开开心心就好8 分钟前
一元二次方程求解工具,答案带详细步骤
java·服务器·开发语言·算法·pdf·ocr·perl
cc5725026539 分钟前
2027校招:大数据管理与应用专业做数据治理,技术之外还要准备什么?
java·开发语言
青春逝如流水21 分钟前
Java 线程池的创建方式、注意要点与任务类型判断
java·开发语言·线程池·多线程·ai文章
徐小黑ACG22 分钟前
Golang goroutine、通道、锁
开发语言·后端·golang
开开心心_Every24 分钟前
内存清理工具定时自动清理开机自启动
java·开发语言·spring·计算机外设·ocr·intellij-idea·excel
纪念 22937 分钟前
c++ string(二)
开发语言·c++
李福春42 分钟前
斗破Google ADK Java苍穹-第5境斗灵-凝物通脉-Context与State
java·开发语言·人工智能·java-ee·google adk·深圳同盟·腾讯云架构师技术同盟
十年Java程序媛43 分钟前
Java 接口和抽象类对比|抛弃老旧八股,正确选型
java·开发语言·spring boot·后端
见叶之秋1 小时前
【C++】从基类到派生类:关于C++继承的务实梳理
开发语言·c++