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 den lokala enheten en efter en och sedan använda funktionen "Skicka till" > "Komprimerad (zippad) mapp". Det är utan tvekan för tråkigt på det här sättet. För att hjälpa dig att göra det på en gång kommer vi i det följande att lära dig en annan metod. Den kommer att lära dig hur du får tag på den 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
- Till att börja med, starta Outlook VBA-editorn 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 Outlook-skador utan tvekan det allvarligaste. Men i verkligheten kan sådana problem uppstå när som helst. Därför, om du är en vanlig Outlook-användare, måste du regelbundet säkerhetskopiera Outlook-data. Dessutom är det klokt att skaffa 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


