Nogle brugere vil gerne komprimere alle e-mails i en Outlook-mappe til en zip fil. Selvom der ikke er sådan en direkte funktion, kan du bruge VBA-koden, der er afsløret i denne artikel, til at realisere det hurtigt.
Til zip alle e-mails i en Outlook-mappe, skal du først eksportere dem til det lokale drev én efter én og derefter bruge funktionen "Send til" > "Komprimeret (zippet) mappe". Der er ingen tvivl om, at det er for besværligt på denne måde. Derfor, for at hjælpe dig med at forstå det på én gang, vil vi i det følgende lære dig en anden metode. Den vil lære dig, hvordan du får fat i den med VBA-kode. Hvis du ikke er bekendt med VBA, kan du se "Sådan køres VBA-kode i din Outlook" i mellemtiden.

Komprimer alle e-mails i en mappe til en Zip File (Felt)
- Til at starte med skal du starte Outlook VBA-editoren via “Alt + F11”.
- Kopier og indsæt derefter VBA-koden i et 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
- Klik derefter på "F5"-tasten for at køre denne makro.
- Senere, i pop op-dialogboksen, skal du vælge kilden til Outlook-mappen og klikke på "OK".
- Når makroen er færdig, vil en Windows-mappe blive vist, hvori der er en ny zip fil, som indeholder alle e-mails fra den valgte Outlook-mappe, som vist i følgende figur.
Håndter besværlig Outlook-filkorruption
Blandt alle de almindelige problemer i Outlook er Outlook-skader uden tvivl det mest alvorlige. Men i virkeligheden kan sådanne problemer opstå når som helst. Derfor, hvis du er en almindelig Outlook-bruger, skal du regelmæssigt sikkerhedskopiere af Outlook-data. Derudover er det klogt at få fat i en robust Outlook reparation hjælpeprogram, såsom DataNumen Outlook Repair.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder sql rettelse og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com


