Sebilangan pengguna ingin memampatkan semua e-mel dalam folder Outlook ke dalam zip fail. Walaupun tidak ada fungsi langsung, Anda dapat menggunakan kod VBA yang terpapar dalam artikel ini untuk mewujudkannya dengan cepat.
Untuk zip semua e-mel dalam folder Outlook, anda perlu mengeksportnya ke pemacu setempat satu persatu terlebih dahulu, dan kemudian menggunakan ciri "Hantar ke" > "Folder (zip) yang dimampatkan". Tidak syak lagi, dengan cara ini, ia terlalu membosankan. Oleh itu, untuk membantu anda merealisasikannya sekaligus, berikut, kami akan mengajar anda kaedah lain. Ia akan mengajar anda cara mendapatkannya dengan kod VBA. Jika anda tidak biasa dengan VBA, anda boleh merujuk kepada "Cara Menjalankan Kod VBA di Outlook Anda"Sementara itu.

Memampatkan Semua E-mel dalam Folder ke dalam Zip File
- Sebagai permulaan, lancarkan editor Outlook VBA melalui "Alt + F11".
- Kemudian, salin dan tampal kod VBA ke dalam 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
- Selepas itu, klik butang "F5" untuk menjalankan makro ini.
- Kemudian, dalam kotak dialog pop timbul, pilih folder Outlook sumber dan klik "OK".
- Apabila makro selesai, folder Windows akan dipaparkan, di mana terdapat yang baru zip file yang berisi semua e-mel dari folder Outlook yang dipilih, seperti yang ditunjukkan pada gambar berikut.
Tangani Kerosakan Fail Outlook yang Menyusahkan
Antara semua masalah biasa dalam Outlook, tidak dinafikan kerosakan Outlook adalah yang paling serius. Walau bagaimanapun, pada hakikatnya, masalah sedemikian boleh berlaku pada bila-bila masa. Oleh itu, jika anda pengguna Outlook tetap, anda perlu membuat sandaran data Outlook secara berkala. Tambahan pula, adalah bijak untuk mendapatkan sandaran yang kukuh. Pembaikan Outlook utiliti, seperti DataNumen Outlook Repair.
Pengenalan Pengarang:
Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk memperbaiki sql dan produk perisian pembaikan prospek. Untuk maklumat lebih lanjut, lawati www.datanumen.com


