Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Kelly Last modified

Как вы знаете, при нажатии на Файл > Печать в Microsoft Outlook будет напечатано только содержимое письма, такое как заголовок и текст, но не вложения. Здесь мы покажем вам, как легко распечатать все вложения в выбранном письме в Microsoft Outlook.


Печать всех вложений в одном письме по одному

Microsoft Outlook предоставляет нам функцию Быстрой печати, которая поможет вам распечатывать вложения в письмах по одному.

1. Выберите письмо, вложения которого вы хотите распечатать позже.

2. Нажмите на одно вложение в этом письме.

steps of printing all attachments in one email message one by one

3. Нажмите кнопку Быстрая печать в группе Действия на вкладке Вложения.

steps of printing all attachments in one email message one by one
Примечание: Инструменты вложений не будут активированы, пока вы не нажмете на вложения в письмах.

4. Появится диалоговое окно Открытие вложения письма, и вам нужно нажать кнопку Открыть .

steps of printing all attachments in one email message one by one

Обратите внимание, что этот шаг откроет выбранное вложение и одновременно распечатает его.

Чтобы распечатать другие вложения в этом письме, повторите шаги 2-4.

Быстро сохранить/экспортировать все вложения из нескольких писем в Outlook

Обычно мы можем сохранять вложения из одного письма, активируя Инструменты вложений и применяя функцию Сохранить все вложения в Outlook. Но что делать, если нужно сохранить вложения из нескольких писем или из всей папки с письмами в Outlook? Попробуйте функцию Сохранить все (вложения) Kutools для Outlook.

save attachments in multiple emails kto9

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

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

1. Выберите письмо, вложения которого вы хотите распечатать позже.

2. В Outlook 2010 или более поздних версиях нажмите Файл > Печать > Параметры печати. Смотрите скриншот ниже:

steps of batch printing all attachments in one email message

3. В диалоговом окне Печать отметьте опцию Печатать прикрепленные файлы. Вложения будут напечатаны только на принтере по умолчанию в разделе Параметры печати.

steps of batch printing all attachments in one email message

4. Нажмите кнопку Печать.

5. В появившемся диалоговом окне Открытие вложения письма нажмите кнопку Открыть , чтобы продолжить. (Примечание: Это диалоговое окно появится для каждого вложения отдельно.)

steps of batch printing all attachments in one email message

Теперь все вложения в выбранном письме будут напечатаны сразу.


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

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

1. В списке писем удерживайте клавиши Ctrl или Shift, чтобы выбрать несколько писем, вложения которых вы хотите распечатать.

2. Нажмите клавиши Alt + F11 вместе, чтобы открыть окно Microsoft Visual Basic for Applications.

3. В окне Microsoft Visual Basic for Applications нажмите Инструменты > Ссылки. Затем отметьте опцию Microsoft Scripting Runtime, как показано ниже. После завершения нажмите OK.

steps of batch printing all attachments and pictures in multiple selected emails

4. Нажмите Вставить > Модуль, затем вставьте приведенный ниже код VBA в новое окно модуля.

VBA: Печать всех вложений в нескольких письмах Outlook

Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/03
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        xFilePath = xTempFldPath & "\" & xAttachment.FileName
        xAttachment.SaveAsFile (xFilePath)
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

5. Нажмите клавишу F5 или кнопку Выполнить , чтобы запустить этот код VBA. Теперь вы увидите, что все вложения в выбранных письмах и изображения в тексте письма напечатаны.

Примечание:

  • Каждое изображение вызовет всплывающее диалоговое окно с запросом подтверждения печати. Другие типы файлов будут напечатаны напрямую.
  • Если в подписи письма есть изображения, они также вызовут всплывающие диалоговые окна.
  • Если вы получили ошибку Макросы в этом проекте отключены, проверьте это руководство: Как включить и отключить макросы в Outlook?

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

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

1. В списке писем удерживайте клавиши Ctrl или Shift, чтобы выбрать несколько писем, вложения которых вы хотите распечатать.

2. Нажмите клавиши Alt + F11 вместе, чтобы открыть окно Microsoft Visual Basic for Applications.

3. В окне Microsoft Visual Basic for Applications нажмите Инструменты > Ссылки. Затем отметьте опцию Microsoft Scripting Runtime, как показано ниже. После завершения нажмите OK.

the steps of batch printing all attachments in multiple selected emails except pictures in the body

4. Нажмите Вставить > Модуль, затем вставьте приведенный ниже код VBA в новое окно модуля.

VBA: Печать всех вложений в нескольких письмах Outlook

Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/05
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        If IsEmbeddedAttachment(xAttachment) = False Then
          xFilePath = xTempFldPath & "\" & xAttachment.FileName
          xAttachment.SaveAsFile (xFilePath)
          Debug.Print xFilePath
        End If
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

5. Нажмите клавишу F5 или кнопку Выполнить , чтобы запустить этот код VBA. Теперь вы увидите, что все вложения в выбранных письмах напечатаны.

Примечание:

  • Каждое прикрепленное изображение вызовет всплывающее диалоговое окно с запросом подтверждения печати. Другие типы файлов будут напечатаны напрямую.
  • Изображения в тексте письма не будут напечатаны.
  • Если вы получили ошибку Макросы в этом проекте отключены, проверьте это руководство: Как включить и отключить макросы в Outlook?

Демонстрация: печать одного или всех вложений в письме Outlook

 

Лучшие инструменты для повышения продуктивности работы с Office

Срочные новости: бесплатная версия Kutools для Outlook уже доступна!

Оцените обновленный Kutools для Outlook с более чем100 невероятными функциями! Нажмите, чтобы скачать прямо сейчас!

🤖 Kutools AI : Использует передовые технологии искусственного интеллекта для легкой работы с Email — включая Ответ, Резюме, Оптимизацию, Расширение, Перевод и Составление писем.

📧 Автоматизация Email: Автоответчик (Доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматически добавить приветствие / Авторазделение Email с несколькими получателями на отдельные письма ...

📨 Управление Email: Отозвать письмо / Блокировать вредоносные письма по теме и другим критериям / Удалить дубликаты / Расширенный Поиск / Организовать папки ...

📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...

🌟 Волшебство интерфейса: 😊Больше красивых и стильных эмодзи / Напоминание при поступлении важных писем / Свернуть Outlook вместо закрытия ...

👍 Удобные функции одним кликом: Ответить всем с вложениями / Антифишинговая Email / 🕘Показать часовой пояс отправителя ...

👩🏼‍🤝‍👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных Email / Разделить группу контактов на отдельные / Удалить напоминание о дне рождения ...

Используйте Kutools на вашем языке – поддерживаются Английский, Испанский, Немецкий, Французский, Китайский и более40 других!

Мгновенно активируйте Kutools для Outlook одним кликом. Не ждите – скачайте и улучшите свою эффективность прямо сейчас!

kutools for outlook features1 kutools for outlook features2

🚀 Скачайте все дополнения Office одним кликом

Рекомендуем: Kutools для Office (5-в-1)

Скачайте сразу пять установщиков одним кликом — Kutools для Excel, Outlook, Word, PowerPoint и Office Tab Pro. Нажмите, чтобы скачать прямо сейчас!

  • Все просто: скачайте все пять установочных пакетов одним действием.
  • 🚀 Готово для любой задачи Office: Установите нужные дополнения тогда, когда они вам понадобятся.
  • 🧰 Включено: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools для PowerPoint