Unii utilizatori ar dori să comprima toate e-mailurile dintr-un folder Outlook într-un zip fişier. Deși nu există o funcție atât de directă, puteți utiliza codul VBA expus în acest articol pentru a o realiza rapid.
La zip Pentru a obține toate e-mailurile dintr-un folder Outlook, trebuie mai întâi să le exportați pe unitatea locală unul câte unul, apoi să utilizați funcția „Trimitere către” > „Folder comprimat (zip)”. Fără îndoială, acest lucru este prea plictisitor. Prin urmare, pentru a vă ajuta să realizați acest lucru dintr-o dată, în cele ce urmează vă vom învăța o altă metodă. Vă vom învăța cum să o obțineți cu cod VBA. Dacă nu sunteți familiarizat cu VBA, puteți consulta „Cum să rulați codul VBA în Outlook" între timp.

Comprimați toate e-mailurile dintr-un folder într-un Zip Fișier
- Pentru început, lansați editorul VBA Outlook folosind „Alt + F11”.
- Apoi, copiați și inserați codul VBA într-un 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
- După aceea, faceți clic pe butonul „F5” pentru a rula această macrocomandă.
- Mai târziu, în caseta de dialog pop-up, selectați folderul sursă Outlook și faceți clic pe „OK”.
- Când macro-ul se termină, va fi afișat un folder Windows, în care există un nou zip fișier care conține toate e-mailurile din folderul Outlook selectat, așa cum se arată în figura următoare.
Gestionați corupția problemelor fișierelor Outlook
Printre toate problemele comune din Outlook, fără îndoială, deteriorarea Outlook este cea mai gravă. Cu toate acestea, în realitate, astfel de probleme pot apărea oricând. Prin urmare, dacă sunteți un utilizator obișnuit de Outlook, trebuie să faceți copii de rezervă regulate ale datelor Outlook. În plus, este prudent să obțineți un program robust... Repararea Outlook utilitate, cum ar fi DataNumen Outlook Repair.
Introducerea autorului:
Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv remediere sql și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com


