批量保存 Outlook 附件(相同名称附件处理)

本文介绍如何使用VBA在Outlook中自动保存收到的大量通行费发票附件,包括创建附件文件夹、启用宏、编写并运行VBA代码,以解决手动保存效率低的问题,支持自定义存储路径。
摘要由CSDN通过智能技术生成

1.需求描述

最近出差比较多,有大量通行费及相关发票产生,都发送到邮箱里面,需要将其保存下来发给公司财务,手动一个个保存太慢,在网上找了一些用VBA处理的方式,但由于有些附件名称相同,在保存时多个附件只能保存一个。因此手动改写了一个能用的供大家参考。

2.实现步骤

1. 在outlook收件箱中创建一个attachment的文件夹。采用规则或手动将需要保存的附件邮件全部移入该文件夹中。

2. 打开 Outlook 的选项,进入信任中心,打开信任中心设置,点击宏设置后选中启用所有宏点确定保存(等会记得改回去)

打开 Outlook 的选项,进入自定义功能区,点击开发工具后选中点确定保存。

3. 回到Outlook 菜单栏中多出开发工具选项,点击,输入宏名保存附件(可以自己用其它名称),点击创建,打开Vba在里面输入如下代码:

代码如下:

Sub 保存附件()

Dim olApp As New Outlook.Application

Dim nmsName As Outlook.NameSpace

Dim vItem As Object

Dim mailIndex As Integer

mailIndex = 0

Set nmsName = olApp.GetNamespace("MAPI")

Set myFolder = nmsName.GetDefaultFolder(olFolderInbox)

Set fldFolder = myFolder.Folders("attachment")

For Each vItem In fldFolder.Items

'-----Save Attachment-------

For Each att In vItem.Attachments

att.SaveAsFile "D:\attachment download\" & CStr(mailIndex) & att.FileName

Next

'------Save Attachment--------
mailIndex = mailIndex + 1

Next

Set fldFolder = Nothing

Set nmsName = Nothing

End Sub

4. 回到Outlook 菜单栏中多出开发工具选项,点击,点击运行。

5. 可以看到需要保存的文件已经保存到D盘中 attachment download的位置。有相同名称的附件前面都加了前缀,进行区分。

3.补充说明

如果需要其它存储路径,仅需要手动修改代码中的下图的位置路径即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值