Note: The other languages of the website are Google-translated. Back to English

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

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


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

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

1. Выберите сообщение электронной почты, вложения которого вы распечатаете позже.

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

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

Обратите внимание Инструменты для вложения не будет активирован, пока вы не нажмете на вложения в письмах.

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

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

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

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

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


сохранять вложения в нескольких письмах kto9

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

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

1. Выберите сообщение электронной почты, вложения которого вы распечатаете позже.

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

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

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

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

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


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

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

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

2, нажмите другой + F11 вместе, чтобы открыть окно Microsoft Visual Basic для приложений.

3. В окне Microsoft Visual Basic для приложений щелкните Инструменты > Рекомендации. А затем проверьте Среда выполнения сценариев Microsoft вариант, как показано ниже. Когда закончите, нажмите OK.

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 ключ или щелкните Run кнопку для запуска этого кода VBA. Теперь вы увидите, что все вложения в выбранных электронных письмах и изображения в теле сообщения распечатываются.

Примечание:

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

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

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

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

2, нажмите другой + F11 вместе, чтобы открыть окно Microsoft Visual Basic для приложений.

3. В окне Microsoft Visual Basic для приложений щелкните Инструменты > Рекомендации. А затем проверьте Среда выполнения сценариев Microsoft вариант, как показано ниже. Когда закончите, нажмите OK.

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 ключ или щелкните Run кнопку для запуска этого кода VBA. Теперь вы увидите, что все вложения в выбранных электронных письмах распечатаны.

Примечание:

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

 


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


Функции: В этом видео, Кутулс вкладка добавлена Kutools для Outlook. Если вам это нужно, нажмите здесь получить 60-дневную бесплатную пробную версию без ограничений!


Kutools for Outlook - добавляет в Outlook 100 расширенных функций и делает работу намного проще!

  • Авто CC / BCC по правилам при отправке электронной почты; Автопересылка Несколько писем по индивидуальному заказу; Автоответчик без сервера обмена и дополнительных автоматических функций ...
  • Предупреждение BCC - показать сообщение при попытке ответить всем если ваш почтовый адрес находится в списке BCC; Напоминать об отсутствии вложений, и многое другое напоминает функции ...
  • Ответить (всем) со всеми вложениями в почтовой беседе; Ответить на много писем в секундах; Автоматическое добавление приветствия при ответе; Добавить дату в тему ...
  • Инструменты для вложений: управление всеми вложениями во всех письмах, Авто отсоединение, Сжать все, Переименовать все, сохранить все ... Быстрый отчет, Подсчет выбранных писем...
  • Мощные нежелательные электронные письма по обычаю; Удаление повторяющихся писем и контактов... Позвольте вам делать в Outlook умнее, быстрее и лучше.
выстрел kutools outlook kutools tab 1180x121
выстрел kutools outlook kutools plus tab 1180x121
 
Сортировать комментарии по
Комментарии (23)
Номинальный 5 из 5 · рейтинги 1
Этот комментарий был сведен к минимуму модератором на сайте
Это очень полезно, но не помогает мне с Office 365??
Этот комментарий был сведен к минимуму модератором на сайте
Я мог бы понять эту часть для себя - я пытаюсь понять, почему, несмотря на это, вложения не печатаются. Для каждого вложения появляется сообщение об ошибке с вопросом, хочу ли я «открыть» или «сохранить». Выбор любого варианта приводит к точно таким же результатам - другими словами, по-прежнему не печатается, а только открывается или сохраняется. У меня 20 вложений из 4 писем. Я действительно не хочу открывать 80 документов только для того, чтобы распечатать их. Ясно, что есть какая-то настройка безопасности «спаси меня от самого себя», которую нужно стереть, чтобы я мог использовать свой собственный компьютер и операционную систему, которую я купил и за которую заплатил. ЭТО то, что мне нужно знать.
Этот комментарий был сведен к минимуму модератором на сайте
Дважды щелкните по электронному письму, чтобы оно всплыло само по себе. Щелкните правой кнопкой мыши одно из вложений и нажмите «выбрать все», затем «быстрая печать».
Этот комментарий был сведен к минимуму модератором на сайте
Согласен с Лией, это не работает. Он просто распечатывает основную часть письма и первое вложение, а не все. Нужны инструкции о том, как распечатать их все, используя параметры «выбрать все», показанные выше.
Этот комментарий был сведен к минимуму модератором на сайте
если вы хотите распечатать все вложения вместе в 1 электронном письме, вот что вы делаете. сначала создайте папку на рабочем столе ... я назвал свою «печать». перейдите к электронному письму с вложениями .... выделите все вложения, щелкните правой кнопкой мыши, сохраните все вложения в папку для печати. Откройте папку для печати ..... выделите их все ..... щелкните правой кнопкой мыши ..... печать.



теперь, если бы я только мог понять, как распечатать все вложения в 200 электронных письмах, не открывая каждое из них и не печатая его.
Этот комментарий был сведен к минимуму модератором на сайте
Kutools for Outlook Функция «Отсоединить все (вложения)» может помочь вам загрузить все вложения из нескольких электронных писем несколькими щелчками мыши! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
Этот комментарий был сведен к минимуму модератором на сайте
если pdf-файл имеет такое же имя, макрос печатает только один pdf-файл, как я могу изменить код, чтобы изменить имя pdf-файла?
Этот комментарий был сведен к минимуму модератором на сайте
код VBA дает синтаксис ошибки
Этот комментарий был сведен к минимуму модератором на сайте
в строке 9 у меня сработало удаление «При ошибке возобновить дальше».
Этот комментарий был сведен к минимуму модератором на сайте
да, это только что сработало для меня. Благодарю вас!
Этот комментарий был сведен к минимуму модератором на сайте
спасибо 
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я использую этот ярлык уже несколько недель, печатая все вложения из нескольких электронных писем одновременно, и недавно мне пришлось удалить строку 9, как сказал Ниланка, которая работала, но это больше не работает. Я получаю окно с предупреждением о том, что макросы в этом проекте отключены... и так далее... если у кого-то есть решение, чтобы заставить это работать так, как это было до сих пор, пожалуйста, дайте мне знать, так как я выбираю около 60 электронные письма, содержащие вложения для печати. Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Этот комментарий был сведен к минимуму модератором на сайте
Привет всем, мы обновили код VBA в руководстве 2022. Если вам по-прежнему необходимо распечатать все вложения, проверьте новый код. 😊
Этот комментарий был сведен к минимуму модератором на сайте
Привет, вчера у меня это работало нормально, но теперь он говорит: «Макросы в этом проекте отключены». Есть ли совет, как их включить? 
Этот комментарий был сведен к минимуму модератором на сайте
Этот комментарий был сведен к минимуму модератором на сайте
Vielen, vielen Dank dafür! Hat uns enorm viel Arbeit erspart.Auch ich musste - wie bereits in the Den Kommentaren geschrieben - die neunte Zeile "Dim xAttachment As Outlook.Attachment On Error Resume Next" включен, данн держит код einfandfrei durch.
Этот комментарий был сведен к минимуму модератором на сайте
привет, ich möchte nur den Anhang der Mails von der angegebenen Adresse senden, wie kann ich das machen, danke
Этот комментарий был сведен к минимуму модератором на сайте
Я использую Microsoft 365, и это сработало после удаления строки 9. Спасибо! Это сэкономило мне немного времени.
Номинальный 5 из 5
Этот комментарий был сведен к минимуму модератором на сайте
Уважаемые все,

Я пробовал VBA, и код запускается, но многие всплывающие окна открываются на экране для печати изображений из почтовой подписи (очевидно, это считается вложением). Кто-нибудь знает, как это решить?

S.
Этот комментарий был сведен к минимуму модератором на сайте
Всем привет,

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

Аманда
Этот комментарий был сведен к минимуму модератором на сайте
Если вы не хотите печатать изображения в теле сообщения, используйте следующий код:
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
Этот комментарий был сведен к минимуму модератором на сайте
Дорогая Аманда,

Спасибо за код. Это сработало!

S.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL