Nekateri uporabniki bi radi stisnili vsa e-poštna sporočila v Outlookovi mapi v a zip mapa. Čeprav ni tako neposredne funkcije, lahko uporabite kodo VBA, predstavljeno v tem članku, da jo hitro realizirate.
Da zip Če želite vsa e-poštna sporočila v mapi Outlook, jih morate najprej enega za drugim izvoziti na lokalni disk in nato uporabiti funkcijo »Pošlji v« > »Stisnjena (zip) mapa«. Ta način je nedvomno preveč dolgočasen. Zato vam bomo v nadaljevanju predstavili še eno metodo, da bi vam pomagali, da to storite naenkrat. Naučili vas bomo, kako to storiti s kodo VBA. Če niste seznanjeni z VBA, si lahko ogledate »Kako zagnati kodo VBA v Outlooku" medtem.

Stisnite vsa e-poštna sporočila v mapi v a Zip file
- Za začetek zaženite urejevalnik VBA v Outlooku s pritiskom na »Alt + F11«.
- Nato kopirajte in prilepite kodo VBA v 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
- Nato kliknite tipko "F5", da zaženete ta makro.
- Kasneje v pojavnem pogovornem oknu izberite izvorno Outlookovo mapo in kliknite »V redu«.
- Ko se makro konča, se prikaže mapa Windows, v kateri je nov zip ki vsebuje vsa e-poštna sporočila iz izbrane Outlookove mape, kot je prikazano na naslednji sliki.
Obravnavajte težavne poškodbe Outlookovih datotek
Med vsemi pogostimi težavami v Outlooku je nedvomno najresnejša poškodba Outlooka. Vendar pa se v resnici takšne težave lahko pojavijo kadar koli. Če ste redni uporabnik Outlooka, morate redno varnostno kopirati Outlookove podatke. Poleg tega je pametno, da si priskrbite zanesljivo varnostno kopijo. Outlook popravilo uporabnost, kot je DataNumen Outlook Repair.
Uvod avtorja:
Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z sql popravek in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com


