Понякога може да искате да компресирате всички прикачени файлове в имейл в zip файл директно в Outlook. В този случай можете да използвате VBA кода, въведен в тази статия, за да постигнете тази функция.
По подразбиране Outlook има ограничение за размера на прикачения файл - 20 MB за POP3, IMAP или други уеб-базирани имейл акаунти и 10 MB за акаунти в Exchange. Така че, когато общият размер на прикачените файлове надвиши ограничението, ще получите свързани грешки. В този случай е добър вариант да компресирате всички прикачени файлове в zip файл.

Както можете да видите обаче, Outlook не предлага такава директна функция. Тоест трябва първо да zip тези файлове в твърдия диск и след това прикачете отново новосъздаденото zip файл. В действителност, повечето потребители се надяват, че могат да го постигнат директно в Outlook. В отговор на това изискване, ще ви представим как да използвате VBA, за да го реализирате по-долу.
Компресирайте всички прикачени файлове в a Zip досие
- На първо място стартирайте приложението си Outlook.
- След това натиснете бутоните „Alt + F11“ в главния прозорец на Outlook.
- След това в новия прозорец на редактора на VBA на Outlook отворете модул.
- След това копирайте и поставете следните VBA кодове в модула.
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
- След това трябва да проверите настройките на макроса на Outlook, за да се уверите, че макросът е разрешен.
- По-късно можете да добавите новия проект на VBA към лентата с инструменти за бърз достъп на прозореца за съобщения, както обикновено.
- В крайна сметка можете да опитате.
- Първо, създайте нов имейл и прикачете няколко файла. Или просто отворете поща с много прикачени файлове.
- След това щракнете върху бутона за макрос в лентата с инструменти за бърз достъп.
- По-късно трябва да посочите име за zip файл и натиснете „OK“. По подразбиране той ще бъде зададен по същия начин като темата на пощата.
- Веднага всички прикачени файлове ще бъдат компресирани в zip файл, като следната екранна снимка:
Разархивирайте .Zip Прикачени файлове директно в Outlook
Неизбежно е да получите прикачени файлове с „.zip„разширение на файла от време на време“. В този случай може да искате директно да разархивирате такива файлове от вашия Outlook, вместо да ги запазвате и разархивирате на локалния диск. Въпреки че Outlook няма такава вградена функция, все още можете да използвате VBA, за да я получите. За повече подробности можете да се обърнете към друга статия – „Как да разархивирате .Zip Прикачени файлове директно в Outlook чрез VBA".
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително sql корекция и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com


