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 Aby wyeksportować wszystkie wiadomości e-mail do folderu Outlooka, należy je najpierw wyeksportować na dysk lokalny, pojedynczo, a następnie użyć funkcji „Wyślij do” > „Folder skompresowany (zip)”. Bez wątpienia jest to zbyt żmudne. Dlatego, aby pomóc Ci to zrozumieć za jednym zamachem, w dalszej części pokażemy Ci inną metodę. Pokażemy Ci, jak to zrobić za pomocą kodu VBA. Jeśli nie znasz VBA, zapoznaj się z artykułem „Jak uruchomić kod VBA w swoim Outlooku" w międzyczasie.

Kompresuj wszystkie wiadomości e-mail w folderze do Zip Plik
- Na początek uruchom edytor VBA w programie Outlook za pomocą skrótu klawiszowego „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 z Outlookiem, uszkodzenie Outlooka jest niewątpliwie najpoważniejsze. W rzeczywistości jednak takie problemy mogą wystąpić w dowolnym momencie. Dlatego jeśli regularnie korzystasz z Outlooka, musisz regularnie tworzyć kopie zapasowe danych Outlooka. Ponadto, rozsądnie jest zaopatrzyć się w solidne… 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


