Niektórzy użytkownicy chcieliby skompresować wszystkie wiadomości e-mail w folderze programu Outlook do zip plik. Chociaż nie ma takiej bezpośredniej funkcji, możesz wykorzystać kod VBA przedstawiony w tym artykule, aby szybko ją zrealizować.
Do zip wszystkie e-maile w folderze Outlook, musisz najpierw wyeksportować je na dysk lokalny jeden po drugim, a następnie użyć „Wyślij do” > „Skompresowane (zipped) folder”. Bez wątpienia w ten sposób jest to zbyt żmudne. Dlatego, aby pomóc Ci to zrealizować za jednym razem, poniżej nauczymy Cię innej metody. Nauczy Cię, jak go zdobyć za pomocą kodu VBA. Jeśli nie znasz VBA, możesz odwołać się do „Jak uruchomić kod VBA w swoim Outlooku" w międzyczasie.

Kompresuj wszystkie wiadomości e-mail w folderze do Zip Plik
- Jaktart, uruchom edytor VBA programu Outlook za pomocą „Alt + F11”.
- Następnie skopiuj i wklej kod VBA do modułu.
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
- Następnie kliknij przycisk „F5”, aby uruchomić to makro.
- Później w wyskakującym oknie dialogowym wybierz źródłowy folder Outlook i kliknij "OK".
- Po zakończeniu makro zostanie wyświetlony folder Windows, w którym znajduje się nowy zip plik zawierający wszystkie wiadomości e-mail z wybranego folderu programu Outlook, jak pokazano na poniższym rysunku.
Obsługuj kłopotliwe uszkodzenie plików programu Outlook
Spośród wszystkich typowych problemów występujących w Outlooku, niewątpliwie uszkodzenie Outlooka to most poważny. Jednak w rzeczywistości takie problemy mogą mieć miejsce w dowolnym momencie. Dlatego jeśli jesteś zwykłym użytkownikiem Outlooka, musisz regularnie tworzyć kopie zapasowe danych Outlooka. Ponadto rozsądnie jest zdobyć solidny Naprawa programu Outlook narzędzie, takie jak DataNumen Outlook Repair.
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym poprawka sql i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com


