VBA信息获取与处理专题五第二节:分发邮件的代码及代码讲解

B站影视 港台电影 2025-09-05 18:38 1

摘要:《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。

教程共两册,二十个专题。今日分享内容是:VBA信息获取与处理专题五第二节:分发邮件的代码及代码讲解

【分享成果,随喜正能量】254 人生一世,健康最贵。体勤益寿,心静延年。照顾好自己的健康和情绪,善待自己,取悦自己就是人生最有意义的事,其余一切随遇而安便好。。

在上一讲中我们讲了简单邮件的发送,我们这讲的内容是讲解如何根据工作表的指定地址分发邮件。

如下图:

上述表格是参加一次会议的各部门人员安排,需要各部门长接到邮件后按人数把人员反馈,如果群发那就太low了,我们要单独给各个部门。这节我们就来实现这个课题。

有了自定义函数,我们来看主程序的过程,我们看下面的代码:

Sub myNZA

'根据地址不同分发简单邮件

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

Dim myMailBody As String

'定义邮件主题

mySubject = "安全生产会议通知"

'定义发送邮箱

myFromAddress = "VBA6337@126.com"

mySMTP_Server = "smtp.126.com"

myMailsendpassword = "CUIAYZSDHOYZPH**" '授权码

'直接定义收件邮件的内容,优先于附件导入

myMailBody = ""

'定义要导入邮件主体的内容文件

myBodyFileName = ""

'定义附件

myBRR = ""

i = 3

Do While Cells(i, 1) ""

'定义收件邮件地址

myToAddress = Cells(i, 1).Value

'定义要导入邮件主体的内容文件

myMailBody = "

" & Cells(i, 2) & " " & Cells(i, 3) & " " & Cells(i, 4) & " 您好:" & "

" & " 贵部门参加" & _

"会议的人数为:" & Cells(i, 5) & "人,请安排。"

'发送邮件

NN = SendEMailC(Subject:=mySubject, FromAddress:=myFromAddress, _

ToAddress:=myToAddress, MailBody:=myMailBody, _

SMTP_Server:=mySMTP_Server, BodyFileName:=myBodyFileName, Mailsendpassword:=myMailsendpassword, Attachments:=myBRR)

If NN = True Then

'do nothing

Else

MsgBox "第" & i & "封邮件没有发送成功!"

End If

i = i + 1

Loop

MsgBox "邮件发送完成!"

End Sub

代码截图:

我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:

来源:VBA语言专业教育

相关推荐