Vissa användare skulle vilja komprimera alla e-postmeddelanden i en Outlook-mapp till en zip fil. Även om det inte finns en sådan direkt funktion, kan du använda VBA-koden som exponeras i den här artikeln för att förverkliga den snabbt.
Till zip alla e-postmeddelanden i en Outlook-mapp måste du först exportera dem till lokal enhet en efter en och sedan använda "Skicka till" > "Komprimerad (zipped) mapp”-funktionen. Utan tvekan, på så sätt är det för tråkigt. Därför, för att hjälpa dig att förverkliga det på en gång, i det följande kommer vi att lära dig en annan metod. Det kommer att lära dig hur du får det med VBA-kod. Om du inte är bekant med VBA kan du hänvisa till "Hur du kör VBA-kod i din Outlook" sålänge.

Komprimera alla e-postmeddelanden i en mapp till en Zip Fil
- För somtarstarta Outlook VBA-redigeraren via “Alt + F11”.
- Kopiera sedan och klistra in VBA-koden i en modul.
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
- Klicka sedan på "F5"-knappen för att köra detta makro.
- Senare, i popup-dialogrutan, välj källmappen för Outlook och klicka på "OK".
- När makrot är klart kommer en Windows-mapp att visas, i vilken det finns en ny zip fil som innehåller alla e-postmeddelanden från den valda Outlook-mappen, som visas i följande bild.
Hantera besvärande Outlook-filkorruption
Bland alla vanliga problem i Outlook är otvivelaktigt Outlook-skadan most allvarlig en. Men i verkligheten kan sådana frågor äga rum när som helst. Därför, om du är en vanlig Outlook-användare, måste du göra regelbundna säkerhetskopior av Outlook-data. Dessutom är det klokt att få tag i en robust Outlook-reparation verktyg, såsom DataNumen Outlook Repair.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive sql fix och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com


