Niektorí používatelia by chceli skomprimovať všetky e-maily v priečinku Outlook do priečinka zip spis. Aj keď takáto priama funkcia neexistuje, môžete použiť kód VBA uvedený v tomto článku na jeho rýchlu realizáciu.
na zip všetky e-maily v priečinku programu Outlook, musíte ich najprv exportovať na lokálny disk jeden po druhom a potom použiť funkciu „Odoslať do“ > „Komprimovaný (zipovaný) priečinok“. Tento spôsob je nepochybne príliš zdĺhavý. Preto, aby ste si to zvládli naraz, v nasledujúcom texte vás naučíme inú metódu. Naučíme vás, ako to získať pomocou kódu VBA. Ak nie ste oboznámení s VBA, môžete sa pozrieť na „Ako spustiť kód VBA v programe Outlook" medzitým.

Komprimujte všetky e-maily v priečinku do priečinka Zip rezeň
- Pre začiatok spustite editor VBA v programe Outlook pomocou klávesov „Alt + F11“.
- Potom skopírujte a prilepte kód VBA do modulu.
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
- Potom kliknite na kľúčové tlačidlo „F5“, aby ste spustili toto makro.
- Neskôr v rozbaľovacom dialógovom okne vyberte zdrojový priečinok programu Outlook a kliknite na tlačidlo „OK“.
- Po dokončení makra sa zobrazí priečinok Windows, v ktorom je nový zip súbor, ktorý obsahuje všetky e-maily z vybratého priečinka programu Outlook, ako je to znázornené na nasledujúcom obrázku.
Zaoberajte sa problémovým poškodením súborov programu Outlook
Spomedzi všetkých bežných problémov v programe Outlook je poškodenie programu Outlook nepochybne najzávažnejším. V skutočnosti sa však takéto problémy môžu vyskytnúť kedykoľvek. Preto, ak ste bežným používateľom programu Outlook, mali by ste si pravidelne zálohovať údaje programu Outlook. Okrem toho je rozumné zaobstarať si robustný zálohovací systém. Oprava Outlook užitočnosť, ako napr DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertkou na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane opraviť sql a výhľadové softvérové produkty na opravu. Pre viac informácií navštívte www.datanumen. S


