5.5.11-模块解析:L3_邮件发送

本模块的作用是将生成的Excel以附件形式发送,包括2个过程。采用以下方法自动发送邮件,要求必须先安装好Outlook客户端,且先登录邮箱账户。


../_images/5-10.png

预警邮件如图5-20所示


../_images/5-20.png

图5-20 预警邮件


代码如下

1   Sub S03_预警邮件发送()
2       currentPath = ThisWorkbook.Path
3       Set fso = CreateObject("Scripting.FileSystemObject")
4       Set currentFolder = fso.GetFolder(currentPath)
5       
6       ' 获取上一级文件夹地址
7       Set upperFolder = currentFolder.parentFolder
8       outputAddress = upperFolder & "\【2】输出"
9       
10      For Each fileObject In fso.GetFolder(outputAddress).Files
11          eachFileName = fileObject.Name
12          attachmentAddress = outputAddress & "\" & eachFileName
13          Debug.Print (eachFileName)
14          Call sub_send_email(attachmentAddress)
15      Next
16  End Sub
17  Sub sub_send_email(attachmentAddress)
18      Set outlookApp = CreateObject("Outlook.Application")
19      Set mail = outlookApp.CreateItem(0)
20      emailReceiver = "zhangbin198904@163.com"
21      eSubject = "预警邮件"
22      eContent = "详细信息请查看附件"
23      
24      mail.To = emailReceiver
25      mail.Subject = eSubject
26      mail.Body = eContent
27      mail.Attachments.Add (attachmentAddress)
28      mail.Send
29      
30      Set outlookApp = Nothing
31      Set mail = Nothing
32  End Sub

关键代码解读

1)第24行mail.To = emailReceiver。收件人邮箱

2)第25行mail.Subject = eSubject。邮件主题

3)第26行mail.Body = eContent。邮件正文

4)第27行mail.Attachments.Add (attachmentAddress)。增加附件