Как пакетно печатать все вложения в нескольких электронных письмах с помощью Outlook VBA

Поделись сейчас:

Если вы хотите распечатать все вложения в нескольких выбранных электронных письмах, вы можете использовать метод, представленный в этой статье. Он использует фрагмент кода VBA для быстрого достижения этого.

Как видите, когда вы выбираете одно вложение, на ленте «Вложения» доступна прямая функция «Быстрая печать». Однако, когда вы выберете одно вложение, кнопка «Быстрая печать» будет отключена, не говоря уже о печати всех вложений во многих выбранных электронных письмах. Поэтому, если вы хотите распечатать все вложения в нескольких письмах за один раз, вам придется искать другие способы, такие как сторонние инструменты или VBA. Ориентируясь на эту потребность, здесь мы предоставим вам фрагмент кода VBA, который поможет вам получить его одним щелчком мыши.

Пакетная печать всех вложений в нескольких электронных письмах с помощью Outlook VBA

Пакетная печать всех вложений в нескольких электронных письмах

  1. В самом начале запустите приложение Outlook.
  2. Затем в главном окне нажмите клавиши «Alt + F11», чтобы получить доступ к редактору VBA.
  3. В последующем окне «Microsoft Visual Basic для приложений» откройте пустой модуль.
  4. Затем скопируйте следующие коды VBA в такой модуль.
Sub BatchPrintAllAttachmentsinMultipleEmails() Dim objFileSystem As Object Dim strTempFolder As String Dim objSelection As Outlook.Selection Dim objItem As Object Dim objMail As Outlook.MailItem Dim objAttachments As Outlook.attachments Dim objAttachment As Outlook.Attachment Dim objShell As Object Dim objTempFolder As Объект Dim objTempFolderItem As Object Dim strFilePath As String Set objFileSystem = CreateObject("Scripting.FileSystemObject") strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\ Temp for Attachments" & Format(теперь "ГГГГ-ММ-ДД_чч-мм-сс" ) 'Создайте новую временную папку MkDir (strTempFolder) Установите objSelection = Outlook.Application.ActiveExplorer.Selection For Each objItem In objSelection Если TypeOf objItem Is MailItem Then Set objMail = objItem Установите objAttachments = objMail.attachments 'Сохраните все вложения во временной папка Для каждого objAttachment В objAttachments strFilePath = strTempFolder & "\" & objAttachment.FileName objAttachment.SaveAsFile (strFilePath) 'Распечатать все файлы во временной папке Set objShell = CreateObject("Shell.Application") Set objTempFolder = objShell.NameSpace( 0) Установите objTempFolderItem = objTempFolder.ParseName(strFilePath) objTempFolderItem.InvokeVerbEx ("print") Next objAttachment End If Next End Sub

Код VBA - распечатать все вложения в нескольких письмах

  1. Впоследствии вы можете добавить новый макрос на панель быстрого доступа.
  2. После этого вы должны установить низкий уровень безопасности макросов Outlook.
  3. В конце концов, вы можете попробовать.
  • Во-первых, в списке рассылки выберите несколько писем, вложения которых вы хотите распечатать.
  • Затем нажмите кнопку нового макроса на панели быстрого доступа.
  • Далее будут распечатаны все вложения в выбранных письмах.

Остерегайтесь вирусов, скрытых в макросах

Если вы настроили низкий уровень безопасности макросов Outlook, вам придется потратить много усилий на блокировку потенциальных вирусов в вредоносных макросах. Это потому, что вирусы могут уничтожить ваши данные Outlook за один раз. Как только ваши данные Outlook будут повреждены, вы сделаете все возможное, чтобы восстановить Outlook данные всеми средствами, такими как повторное обращение к мощному инструменту, такому как DataNumen Outlook Repair.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая поврежденный sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Оставьте комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *