系统:Windows 10
软件:Outlook 2016
- 本系列讲讲在Outlook中使用VBA实现一些功能
- 今天讲讲对收件箱进行遍历
Part 1:目的
- 对收件箱进行遍历,并输出每封邮件的以下信息
- 主题
- 发件人邮箱
- 邮件正文
- 收件时间
收件箱
输出结果
Part 2:代码
Sub test2()
Dim outlookItem As Object
Dim outlookMail As MailItem
Dim outlookFldr As Folder
Dim outlookName As NameSpace
Dim oLoolAtt As Attachment
Set outlookName = Application.GetNamespace("MAPI")
Set outlookFldr = outlookName.GetDefaultFolder(olFolderInbox)
i = 1
For Each outlookItem In outlookFldr.Items
Debug.Print ("第" & i & "封邮件:")
Debug.Print ("主题是:" & outlookItem.Subject)
Debug.Print ("发件人邮箱是:" & outlookItem.SenderEmailAddress)
Debug.Print ("邮件正文是:" & outlookItem.Body)
Debug.Print ("收件时间是:" & outlookItem.ReceivedTime)
Debug.Print (Chr(10))
i = i + 1
Next
End Sub
代码截图
Part 3:部分代码解读
Set outlookName = Application.GetNamespace("MAPI")
获取Outlook的API接口,简单理解的话,可以理解成一个Outlook的入口Set outlookFolder = outlookName.GetDefaultFolder(olFolderInbox)
,获取收件箱对象- 上一篇文章中使用
Set outlookMail = outlookFolder.Items("附件")
,通过邮件的主题来定位一封邮件 - 本文中对收件箱下每一个邮件都进行遍历,
For Each outlookItem In outlookFldr.Items
outlookItem.Subject
获取该邮件的主题名称outlookItem.Body
获取该邮件的正文outlookItem.ReceivedTime
获取该邮件的接收时间outlookItem.SenderEmailAddress
,发件人地址
- 更多学习交流,可加小编微信号
learningBin
更多精彩,请关注微信公众号
扫描二维码,关注本公众号