引言
工作中常常用到邮箱收发邮件,如果有很多需要保存的附件,一封一封的处理工作量很大,今天来分享一下outlook中批量把附件下载到本地的方法。
主要步骤
-
在outlook中创建应用对象
Set myOlApp = CreateObject("Outlook.Application")
-
在outlook中创建命名空间
Set myNamespace = myOlApp.GetNamespace("MAPI")
注意:这里的MAPI是指支持 的唯一数据源是 MAPI,允许访问存储在用户的邮件存储区中的所有Outlook 数据。
-
获取Folder文件,olFolderInbox代表指定收件箱。
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox) '可以得到所有的子文件夹的个数 MsgBox myFolder.folders.count '弹出对话框来显示各个文件 for i=0 to myFolder.folders.count set foldertmp = myFolder.folders(i) MsgBox foldertmp.name next
-
保存outlook附件
'设置附件保存本地地址 Dim path path = 'E:\test\' 'myFolder为收件箱的文件夹Folder For Each mymailitem In myFolder.Items If mymailitem.UnRead Then mymailitem.UnRead = False If mymailitem.Attachments.Count > 0 Then For Each att In mymailitem.Attachments att.SaveAsFile path Next End If End If Next
完整代码
'在outlook中创建应用对象
Set myOlApp = CreateObject("Outlook.Application")
'在outlook中创建命名空间
Set myNamespace = myOlApp.GetNamespace("MAPI")
'获取收件夹Folder
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox).Folders(1)
'设置附件保存本地地址
Dim path
path = "E:\test\"
'myFolder为收件箱的文件夹Folder
For Each mymailitem In myFolder.Items
If mymailitem.UnRead Then
mymailitem.UnRead = False
If mymailitem.Attachments.Count > 0 Then
For Each att In mymailitem.Attachments
att.SaveAsFile path & "\" & att.FileName
Next
End If
End If
Next
网友评论