Outlook-VBA-03-收件箱附件处理

系统: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 ("主题是:" & outlookItem.Subject)
        attachmentsCount = outlookItem.Attachments.Count
        Debug.Print ("附件数目为:" & attachmentsCount)
        
        If attachmentsCount > 0 Then
            For Each Attachment In outlookItem.Attachments
                attachmentFileName = Attachment.FileName
                Debug.Print ("附件名称为:" & attachmentFileName)
                
                newFileAddress = "D:\233N\233N_1_2个公众号\2-VBA\【3】文章\Outlook\20210731-outlook-03-附件处理1-收附件\附件" & "\" & attachmentFileName
                If Dir(newFileAddress) <> "" Then
                    Debug.Print ("文件已存在,将删除后保存")
                    Kill newFileAddress
                End If
                Attachment.SaveAsFile (newFileAddress)
            Next

        End If
        
        Debug.Print (Chr(10))

        i = i + 1
    Next

End Sub


代码截图
请添加图片描述

立即窗口
请添加图片描述

Part 3:部分代码解读

  1. attachmentsCount = outlookItem.Attachments.Count获取邮件的附件数目
  2. For Each Attachment In outlookItem.Attachments,对附件进行遍历
  3. attachmentFileName = Attachment.FileName获取附件的名称
  4. Attachment.SaveAsFile (newFileAddress)将附件另存到本地
    • 注意当拟存储的文件在本地已经存在,需要先删除之前的文件,确保附件成功保存
    • 不删除之前已经存在的文件的话,测试了一下,有些会替代,有些不会,不知道啥情况。所以建议先删除之前的文件,确保没有问题

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

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

公众号底部二维码.jpg

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值