Outlook-VBA-02-对收件箱进行遍历

系统:Windows 10
软件:Outlook 2016

  • 本系列讲讲在Outlook中使用VBA实现一些功能
  • 今天讲讲对收件箱进行遍历

Part 1:目的

  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:部分代码解读

  1. Set outlookName = Application.GetNamespace("MAPI")获取OutlookAPI接口,简单理解的话,可以理解成一个Outlook的入口
  2. Set outlookFolder = outlookName.GetDefaultFolder(olFolderInbox),获取收件箱对象
  3. 上一篇文章中使用Set outlookMail = outlookFolder.Items("附件"),通过邮件的主题来定位一封邮件
  4. 本文中对收件箱下每一个邮件都进行遍历,For Each outlookItem In outlookFldr.Items
  5. outlookItem.Subject获取该邮件的主题名称
  6. outlookItem.Body获取该邮件的正文
  7. outlookItem.ReceivedTime获取该邮件的接收时间
  8. outlookItem.SenderEmailAddress,发件人地址

  • 更多学习交流,可加小编微信号learningBin

更多精彩,请关注微信公众号
扫描二维码,关注本公众号

公众号底部二维码.jpg

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值