Bazı kullanıcılar bir Outlook klasöründeki tüm e-postaları bir klasöre sıkıştırmak ister. zip dosya. Böyle doğrudan bir işlev olmasa da, bunu hızlı bir şekilde gerçekleştirmek için bu makaledeki VBA kodunu kullanabilirsiniz.
için zip Outlook klasöründeki tüm e-postaları tek tek yerel sürücüye dışa aktarmanız ve ardından "Gönder" > "Sıkıştırılmış (zip) klasör" özelliğini kullanmanız gerekir. Şüphesiz ki, bu yöntem oldukça zahmetlidir. Bu nedenle, bunu tek seferde gerçekleştirmenize yardımcı olmak için, aşağıda size başka bir yöntem öğreteceğiz. Bunu VBA koduyla nasıl yapacağınızı öğreteceğiz. VBA'ya aşina değilseniz, "Outlook'unuzda VBA Kodunu Nasıl Çalıştırırsınız?" bu arada.

Bir Klasördeki Tüm E-postaları Sıkıştırın Zip fileto
- Öncelikle, “Alt + F11” tuş kombinasyonunu kullanarak Outlook VBA düzenleyicisini başlatın.
- Ardından, VBA kodunu kopyalayıp bir modüle yapıştırın.
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
- Daha sonra bu makroyu çalıştırmak için “F5” tuşuna basınız.
- Daha sonra açılan iletişim kutusunda, kaynak Outlook klasörünü seçin ve "Tamam" ı tıklayın.
- Makro tamamlandığında, içinde yeni bir dosyanın bulunduğu bir Windows klasörü görüntülenecektir. zip Aşağıdaki şekilde gösterildiği gibi, seçilen Outlook klasöründeki tüm e-postaları içeren dosya.
Zahmetli Outlook Dosya Bozulmasını Yönetin
Outlook'ta sık karşılaşılan sorunlar arasında, şüphesiz en ciddisi Outlook'un hasar görmesidir. Ancak gerçekte, bu tür sorunlar her an ortaya çıkabilir. Bu nedenle, düzenli bir Outlook kullanıcısıysanız, Outlook verilerinizin düzenli yedeklerini almanız gerekir. Ayrıca, sağlam bir yedekleme çözümüne sahip olmak da akıllıca olacaktır. Outlook onarımı gibi yardımcı program DataNumen Outlook Repair.
Yazar Tanıtımı:
Shirley Zhang, bir veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. sql düzeltmesi ve görünüm onarım yazılım ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com


