Іноді вам може знадобитися стиснути всі вкладення в електронному листі у файл zip файл безпосередньо в Outlook. У цьому випадку ви можете використовувати код VBA, представлений у цій статті, для досягнення цієї функції.
За замовчуванням Outlook має обмежений розмір вкладення - 20 МБ для POP3, IMAP або інших веб-облікових записів електронної пошти та 10 МБ для облікових записів Exchange. Отже, коли загальний розмір вкладень перевищує обмеження, ви отримаєте відповідні помилки. У цьому випадку хорошим варіантом буде стиснути всі вкладення у файл zip файлу.
Однак, як бачите, Outlook не пропонує такої прямої функції. Тобто потрібно спочатку zip ці файли на жорсткому диску, а потім знову приєднайте щойно створені zip файл. Насправді мost користувачі сподіваються, що зможуть безпосередньо досягти цього в Outlook. Відповідаючи на цю вимогу, ми представимо, як використовувати VBA, щоб реалізувати це в наступному.
Стиснути всі вкладення в a 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 файл і натисніть "OK". За замовчуванням він буде встановлений так само, як тема пошти.
- Одночасно всі вкладення будуть стиснуті в zip файл, як на наступному скріншоті:
Unzip .Zip Вкладення безпосередньо в Outlook
Неминуче ви отримаєте будь-які вкладення з ".zip”Розширення файлу час від часу. У цьому випадку вам може знадобитися безпосередньо unzip такі файли з вашого Outlook, замість того, щоб зберігати та стискати їх на локальному диску. Незважаючи на те, що Outlook не має такої власної функції, ви все одно можете використовувати VBA для її отримання. Більш детально ви можете звернутися до іншої статті - “Як ООНzip .Zip Вкладення безпосередньо в Outlook через VBA".
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі sql виправити та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com



