Bazen, bir e-postadaki tüm ekleri bir dosyaya sıkıştırmak isteyebilirsiniz. zip doğrudan Outlook'ta dosya. Bu durumda, bu özelliği elde etmek için bu makalede tanıtılan VBA kodunu kullanabilirsiniz.
Varsayılan olarak, Outlook'un kendi ek boyutu sınırı vardır - POP20, IMAP veya diğer web tabanlı e-posta hesapları için 3 MB ve Exchange hesapları için 10 MB. Bu nedenle, eklerin toplam boyutu sınırı aştığında ilgili hataları alırsınız. Bu durumda, tüm ekleri bir dosyaya sıkıştırmak iyi bir seçenektir. zip dosyası.
Ancak, görebileceğiniz gibi, Outlook böyle doğrudan bir özellik sunmuyor. Yani, önce ihtiyacın var zip bu dosyaları sabit sürücüye yerleştirin ve ardından yeni oluşturulan zip dosya. Gerçekte most kullanıcılar bunu doğrudan Outlook içinde başarabileceklerini umarlar. Bu gereksinime yanıt olarak, aşağıda VBA'yı gerçekleştirmek için nasıl kullanılacağını açıklayacağız.
Tüm Ekleri Sıkıştırın Zip fileto
- İlk etapta, Outlook uygulamanızı başlatın.
- Ardından, ana Outlook penceresindeki “Alt + F11” tuş düğmelerine basın.
- Ardından, yeni Outlook VBA düzenleyici penceresinde bir modül açın.
- Ardından, aşağıdaki VBA kodlarını kopyalayıp modüle yapıştırın.
Sub ZipAttachments()
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim objFileSystem As Object
Dim objShell As Object
Dim varTempFolder As Variant
Dim varZipFile As Variant
'Save the attachments to Temporary folder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
varTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp " & Format(Now, "dd-mm-yyyy- hh-mm-ss-")
MkDir (varTempFolder)
varTempFolder = varTempFolder & "\"
Set objMail = Outlook.Application.ActiveInspector.CurrentItem
Set objAttachments = objMail.attachments
For Each objAttachment In objAttachments
objAttachment.SaveAsFile (varTempFolder & objAttachment.FileName)
Next
'Create a new zip file
varZipFile = InputBox("Specify a name for the new zip file", "Name Zip File", objMail.Subject)
varZipFile = objFileSystem.GetSpecialFolder(2).Path & "\" & varZipFile & ".zip"
Open varZipFile For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
'Copy all the saved attachments to the new zip file
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items
'Keep macro running until Compressing is done
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 all the attachments
Set objAttachments = objMail.attachments
While objAttachments.Count > 0
objAttachments.Item(1).Delete
Wend
'Add the new zip file to the current email
objMail.attachments.Add varZipFile
'Prompt
MsgBox ("Complete!")
End Sub
- Bundan sonra, makroya izin verildiğinden emin olmak için Outlook makro ayarlarınızı kontrol etmeniz gerekir.
- Daha sonra yeni VBA projesini her zamanki gibi mesaj penceresinin Hızlı Erişim Araç Çubuğuna ekleyebilirsiniz.
- Sonunda bir deneyebilirsin.
- İlk olarak, yeni bir e-posta oluşturun ve birkaç dosya ekleyin. Veya birçok eki olan bir postayı açın.
- Ardından, Hızlı Erişim Araç Çubuğundaki makro düğmesine tıklayın.
- Daha sonra için bir ad belirtmeniz gerekir. zip dosyasını açın ve "Tamam"a basın. Varsayılan olarak, posta konusuyla aynı şekilde ayarlanacaktır.
- Bir kerede, tüm ekler bir dosyaya sıkıştırılacaktır. zip dosya, aşağıdaki ekran görüntüsü gibi:
Unzip .Zip Ekler Doğrudan Outlook'ta
İle herhangi bir ek almanız kaçınılmazdır.zip” dosya uzantısı ara sıra. Bu senaryoda, doğrudan unzip bu tür dosyaları yerel sürücüye kaydetmek ve sıkıştırmasını açmak yerine Outlook'unuzdan çıkarın. Outlook'un böyle bir yerel özelliği olmasa da, onu elde etmek için yine de VBA'yı kullanabilirsiniz. Daha fazla ayrıntı için başka bir makaleye başvurabilirsiniz - “Nasıl Unzip .Zip Ekler Doğrudan VBA aracılığıyla Outlook'ta anlayışının sonucu olarak, buzdolabında iki üç günden fazla durmayan küçük şişeler elinizin altında bulunur.
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



