有些用户想将 Outlook 文件夹中的所有电子邮件压缩到一个 zip 文件。 虽然没有这样直接的功能,但您可以利用本文公开的VBA代码快速实现它。
至 zip 要将 Outlook 文件夹中的所有电子邮件逐一导出到本地驱动器,然后使用“发送到”>“压缩(zipped)文件夹”功能。毫无疑问,这种方法非常繁琐。因此,为了帮助您一次性完成此操作,接下来我们将教您另一种方法。我们将教您如何使用 VBA 代码来实现。如果您不熟悉 VBA,可以参考“如何在 Outlook 中运行 VBA 代码“ 同时。

将文件夹中的所有电子邮件压缩到 Zip 文件
- 首先,通过“Alt + F11”启动 Outlook VBA 编辑器。
- 然后,将 VBA 代码复制并粘贴到模块中。
Sub ZipAllEmailsInAFolder()
Dim objFolder As Outlook.Folder
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim strSubject As String
Dim varTempFolder As Variant
Dim varZipFile As Variant
Dim objShell As Object
Dim objFileSystem As Object
'Select an Outlook Folder
Set objFolder = Outlook.Application.Session.PickFolder
If Not (objFolder Is Nothing) Then
'Create a temp folder
varTempFolder = "E:\" & objFolder.Name & Format(Now, "YYMMDDHHMMSS")
MkDir (varTempFolder)
varTempFolder = varTempFolder & "\"
'Save each email as msg file
For Each objItem In objFolder.Items
If TypeOf objItem Is MailItem Then
Set objMail = objItem
strSubject = objMail.Subject
strSubject = Replace(strSubject, "/", " ")
strSubject = Replace(strSubject, "\", " ")
strSubject = Replace(strSubject, ":", "")
strSubject = Replace(strSubject, "?", " ")
strSubject = Replace(strSubject, Chr(34), " ")
objMail.SaveAs varTempFolder & strSubject & ".msg", olMSG
End If
Next
'Create a new ZIP file
varZipFile = "E:\" & objFolder.Name & " Emails.zip"
Open varZipFile For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
'Add the exported msg files to the ZIP file
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items
On Error Resume Next
Do Until objShell.NameSpace(varZipFile).Items.Count = objShell.NameSpace(varTempFolder).Items.Count
Application.Wait (Now + TimeValue("0:00:01"))
Loop
On Error GoTo 0
'Delete the temp folder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
objFileSystem.DeleteFolder Left(varTempFolder, Len(varTempFolder) - 1)
End If
End Sub
- 然后,单击“F5”键按钮运行该宏。
- 稍后,在弹出的对话框中,选择源Outlook文件夹并单击“确定”。
- 宏完成后,会出现一个Windows文件夹,里面有一个新的 zip 包含所选 Outlook 文件夹中所有电子邮件的文件,如下图所示。
处理麻烦的 Outlook 文件损坏
在 Outlook 的所有常见问题中,Outlook 数据损坏无疑是最严重的。然而,实际上,这类问题随时可能发生。因此,如果您是 Outlook 的常用用户,则需要定期备份 Outlook 数据。此外,配备一个可靠的备份工具也是明智之举。 Outlook修复 实用程序,例如 DataNumen Outlook Repair.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com


