Как пакетно печатать все вложения в нескольких электронных письмах с помощью 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 Object
    Dim objTempFolderItem As Object
    Dim strFilePath As String
 
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp for Attachments " & Format(Now, "YYYY-MM-DD_hh-mm-ss")
    'Create a new temp folder
    MkDir (strTempFolder)
 
    Set objSelection = Outlook.Application.ActiveExplorer.Selection
 
    For Each objItem In objSelection
        If TypeOf objItem Is MailItem Then
           Set objMail = objItem
           Set objAttachments = objMail.attachments
 
           'Save all the attachments in the temp folder
           For Each objAttachment In objAttachments
               strFilePath = strTempFolder & "\" & objAttachment.FileName
               objAttachment.SaveAsFile (strFilePath)
 
               'Print all the files in the temp folder
               Set objShell = CreateObject("Shell.Application")
               Set objTempFolder = objShell.NameSpace(0)
               Set 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

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

Комментарии закрыты.