Иногда вам может понадобиться сжать все вложения в электронном письме в zip файл прямо в Outlook. В этом случае вы можете использовать код VBA, представленный в этой статье, для реализации этой функции.
По умолчанию Outlook имеет ограничение на размер вложения — 20 МБ для POP3, IMAP или других учетных записей электронной почты в Интернете и 10 МБ для учетных записей Exchange. Таким образом, когда общий размер вложений превышает лимит, вы получите соответствующие ошибки. В этом случае хорошим вариантом является сжатие всех вложений в zip .
Однако, как видите, Outlook не предлагает такой прямой функции. То есть сначала нужно zip эти файлы на жестком диске, а затем повторно прикрепите вновь созданный zip файл. В реальности мost пользователи надеются, что смогут добиться этого непосредственно в Outlook. В ответ на это требование ниже мы расскажем, как использовать VBA для его реализации.
Сжать все вложения в Zip Файл
- Прежде всего, запустите приложение Outlook.
- Затем нажмите клавиши «Alt + F11» в главном окне Outlook.
- Затем в новом окне редактора Outlook VBA откройте модуль.
- Затем скопируйте и вставьте в модуль следующие коды 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 файл и нажмите «ОК». По умолчанию он будет установлен так же, как и тема письма.
- Сразу все вложения будут сжаты в zip файл, как на следующем снимке экрана:
Unzip .Zip Вложения прямо в Outlook
Вы неизбежно получите какие-либо вложения с расширением «.zip” расширение файла время от времени. В этом случае вы можете захотеть напрямуюzip такие файлы из вашего Outlook вместо того, чтобы сохранять и распаковывать их на локальном диске. Несмотря на то, что в Outlook нет такой встроенной функции, вы все равно можете использовать VBA, чтобы получить ее. Для более подробной информации вы можете обратиться к другой статье — «Как разблокироватьzip .Zip Вложения прямо в Outlook через VBA».
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая исправление sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com



