Einige Benutzer möchten alle E-Mails in einem Outlook-Ordner in einen komprimieren zip Datei. Obwohl es keine so direkte Funktion gibt, können Sie den in diesem Artikel bereitgestellten VBA-Code verwenden, um ihn schnell zu realisieren.
Zu zip Bei allen E-Mails in einem Outlook-Ordner müssen Sie sie zuerst einzeln auf das lokale Laufwerk exportieren und dann "Senden an"> "Komprimiert (" verwenden.zipped) Ordner ”-Funktion. Ohne Zweifel ist es auf diese Weise zu langweilig. Um Ihnen zu helfen, dies auf einmal zu realisieren, werden wir Ihnen im Folgenden eine andere Methode beibringen. Hier erfahren Sie, wie Sie mit VBA-Code darauf zugreifen können. Wenn Sie mit VBA nicht vertraut sind, können Sie auf „So führen Sie VBA-Code in Outlook aus" inzwischen.

Komprimieren Sie alle E-Mails in einem Ordner in a Zip Reichen Sie das
- Für astart Starten Sie den Outlook VBA-Editor über „Alt + F11“.
- Kopieren Sie dann den VBA-Code und fügen Sie ihn in ein Modul ein.
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
- Klicken Sie anschließend auf die Taste „F5“, um dieses Makro auszuführen.
- Wählen Sie später im Popup-Dialogfeld den Outlook-Quellordner aus und klicken Sie auf „OK“.
- Wenn das Makro beendet ist, wird ein Windows-Ordner angezeigt, in dem sich ein neuer befindet zip Datei, die alle E-Mails aus dem ausgewählten Outlook-Ordner enthält (siehe folgende Abbildung).
Behandeln Sie problematische Outlook-Dateibeschädigungen
Unter all den häufigen Problemen in Outlook ist der Outlook-Schaden zweifellos der most ernst. In der Realität können solche Probleme jedoch jederzeit auftreten. Wenn Sie ein normaler Outlook-Benutzer sind, müssen Sie daher regelmäßig Sicherungen von Outlook-Daten durchführen. Außerdem ist es ratsam, einen robusten zu ergattern Outlook reparieren Dienstprogramm, wie z DataNumen Outlook Repair.
Einführung des Autors:
Shirley Zhang ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich SQL Fix und Outlook-Reparatursoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX


