Sommige gebruikers willen alle e-mails in een Outlook-map comprimeren naar een zip het dossier. Hoewel er niet zo'n directe functie is, kunt u de VBA-code die in dit artikel wordt beschreven, gebruiken om dit snel te realiseren.
Naar zip Om alle e-mails in een Outlook-map te exporteren, moet je ze eerst één voor één naar je lokale schijf exporteren en vervolgens de functie "Verzenden naar" > "Gecomprimeerde (gezipte) map" gebruiken. Dit is ongetwijfeld een omslachtige methode. Daarom leggen we hieronder een andere methode uit, namelijk met VBA-code, om dit in één keer te kunnen doen. Als je niet bekend bent met VBA, kun je de documentatie raadplegen.Hoe u VBA-code in uw Outlook uitvoert" in de tussentijd.

Comprimeer alle e-mails in een map in een Zip Bestand
- Om te beginnen, start de Outlook VBA-editor via "Alt + F11".
- Kopieer en plak vervolgens de VBA-code in een module.
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 daarna op de toets "F5" om deze macro uit te voeren.
- Selecteer later in het pop-upvenster de Outlook-bronmap en klik op “OK”.
- Wanneer de macro is voltooid, wordt een Windows-map weergegeven, waarin zich een nieuw zip bestand dat alle e-mails uit de geselecteerde Outlook-map bevat, zoals weergegeven in de volgende afbeelding.
Omgaan met lastige corruptie van Outlook-bestanden
Van alle veelvoorkomende problemen met Outlook is schade aan Outlook-gegevens ongetwijfeld het ernstigst. Dergelijke problemen kunnen zich echter op elk moment voordoen. Daarom is het voor regelmatige Outlook-gebruikers belangrijk om regelmatig back-ups van hun gegevens te maken. Daarnaast is het verstandig om een robuuste back-up te maken. Outlook-reparatie hulpprogramma, zoals DataNumen Outlook Repair.
Auteur Introductie:
Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder sql-oplossing en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com


