使用VBA批量下载收件箱中的附件并制作管理附件的超链接

文摘   教育   2024-09-12 19:50   广东  
你有没有遇到过需要下载邮件中的附件的情况?今天我们来学学如何使用VBA制作批量下载附件,并且在表格中填写好发件人、主题、直达附件的超链接,以便我们方便管理附件。
如图,现在我的收件箱有六封邮件有附件,现在我们需要将他们下载下来。

下面我们来看看代码,在写代码之前,由于我们是在Excel操控OUTLOOK,所以在这儿之前,我们需要勾选关于OUTLOOK对象的引用,以便查看关于outlook的一些方法属性
一、前期绑定

点击工具-引用-Microsoft Outlook 16.0 Object Library进行outlook的引用

二、代码展示

Sub DownloadAttachments()    Dim olApp As Outlook.Application    Dim olNamespace As Outlook.Namespace    Dim olFolder As Outlook.MAPIFolder    Dim olMail As Outlook.MailItem    Dim olAttachment As Outlook.Attachment    Dim saveFolder As String    saveFolder = ThisWorkbook.Path    Set olApp = New Outlook.Application    Set olNamespace = olApp.GetNamespace("MAPI")    Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)    i = 0    For Each olMail In olFolder.Items        If olMail.Attachments.Count > 0 Then            For Each olAttachment In olMail.Attachments                i = i + 1                olAttachment.SaveAsFile saveFolder & "\" & i & "-" & olAttachment.Filename                Range("A" & i) = olMail.SenderEmailAddress                Range("B" & i) = olMail.Subject                Sheet1.Hyperlinks.Add _                    Anchor:=Range("C" & i), _                    Address:=saveFolder & "\" & i & "-" & olAttachment.Filename, _                    TextToDisplay:=olAttachment.Filename            Next olAttachment        End If    Next olMailEnd Sub
第11行:获取收件箱
第13行:遍历收件箱的邮件
第14行:如果邮件的附件大于0,则进入循环
第15行:循环附件
第16-23行:将附件另存到本工作簿所在文件夹,A列写入发件人,B列写入邮件主题,C列制作关于附件的超链接
效果展示:

执行代码后,效果如下:

好了,本期教程就到这里啦,走过路过的点个关注分享一下吧,谢谢啦

求关注-求星标-求点赞-求看-求分享
最近创建了一个VBA学习交流群,如有需要进群可以添加微信 jaresfzz,或者扫描以下二维码,备注进群

Excel应用教程
主要提供Excel vba,函数,图表,数据透视表,pq,Js等教程
 最新文章