Przejdź do głównej zawartości

Jak wydrukować wszystkie załączniki w jednej / wielu wiadomościach e-mail w Outlooku?

Jak wiesz, po kliknięciu pliku filet > w programie Microsoft Outlook, ale nie drukuj załączników. Tutaj pokażemy Ci, jak łatwo wydrukować wszystkie załączniki w wybranej wiadomości e-mail w programie Microsoft Outlook.


Drukuj wszystkie załączniki w jednej wiadomości e-mail jeden po drugim

Microsoft Outlook zapewnia nam Szybki wydruk funkcja, która może pomóc w drukowaniu załączników w wiadomości e-mail jeden po drugim.

1. Wybierz wiadomość e-mail, której załączniki wydrukujesz później.

2. Kliknij jeden załącznik w tej wiadomości e-mail.

3, Kliknij Szybki wydruk przycisk w Akcje grupa na Załączniki patka.

Zanotuj Narzędzia załączników nie zostanie aktywowany, dopóki nie klikniesz załączników w wiadomościach e-mail.

4. Pojawi się okno dialogowe otwierania załącznika poczty i kliknij przycisk Otwarte przycisk.

Pamiętaj, że ten krok spowoduje otwarcie wybranego załącznika i jednoczesne wydrukowanie tego załącznika.

Aby wydrukować inne załączniki w tej wiadomości e-mail, powtórz kroki od 2 do 4.

Szybko zapisuj / eksportuj wszystkie załączniki z wielu wiadomości e-mail w programie Outlook

Zwykle możemy zapisywać załączniki z jednego e-maila, aktywując rozszerzenie Narzędzia załączników i zastosowanie Zapisz wszystkie załączniki funkcja w programie Outlook. Ale co, jeśli zapisujesz załączniki z wielu wiadomości e-mail lub z całego folderu poczty w Outlooku? Wypróbuj Kutools dla programu Outlook Zapisz wszystkie Funkcja (Załączniki).


zapisywać załączniki w wielu e-mailach kto9

Drukowanie zbiorcze wszystkich załączników w jednej wiadomości e-mail

Jeśli w jednej wiadomości e-mail znajduje się wiele załączników, wydrukowanie ich jeden po drugim będzie czasochłonne. Poniższa metoda przeprowadzi Cię przez łatwe drukowanie wsadowe wszystkich załączników w wybranej wiadomości e-mail.

1. Wybierz wiadomość e-mail, której załączniki wydrukujesz później.

2. W programie Outlook 2010 lub nowszych wersjach kliknij plik filet > > Opcje drukowania. Zobacz poniższy zrzut ekranu:

3. W oknie dialogowym Drukuj sprawdź Wydrukuj załączone pliki. Załączniki będą drukowane tylko na domyślnej drukarce opcja w Opcje drukowania

4, Kliknij przycisk.

5. W wyskakującym oknie dialogowym Otwieranie załącznika poczty kliknij plik Otwarte przycisk, aby przejść dalej. (Note: To okno dialogowe pojawi się osobno dla każdego załącznika).

Teraz wszystkie załączniki w wybranej wiadomości e-mail zostaną wydrukowane jednocześnie.


Grupowe drukowanie wszystkich załączników i zdjęć w wielu wybranych wiadomościach e-mail

Aby wydrukować wszystkie załączniki w wielu e-mailach, a także wszystkie zdjęcia w treści wiadomości w Outlooku, wykonaj poniższe czynności, aby zastosować kod VBA.

1. Proszę czekać na liście mailingowej Ctrl or Shift klucze, aby wybrać wiele wiadomości e-mail, których załączniki chcesz wydrukować.

2. naciśnij inny + F11 klucze razem, aby otworzyć okno Microsoft Visual Basic for Applications.

3. W oknie Microsoft Visual Basic for Applications kliknij Tools > Referencje. A następnie sprawdź Środowisko wykonawcze skryptów firmy Microsoft Microsoft opcja, jak pokazano poniżej. Po zakończeniu kliknij OK.

4. Kliknij wstawka > Moduł, a następnie wklej poniższy kod VBA do nowego okna modułu.

VBA: wydrukuj wszystkie załączniki w wielu wiadomościach e-mail programu 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. naciśnij F5 lub kliknij run przycisk, aby uruchomić ten kod VBA. Teraz zobaczysz, że wszystkie załączniki w wybranych e-mailach i zdjęcia w treści wiadomości są drukowane.

Uwaga:

  • Każdy obraz wyświetli wyskakujące okno dialogowe z prośbą o potwierdzenie drukowania. Podczas gdy inne typy plików zostaną wydrukowane bezpośrednio.
  • Jeśli w podpisie wiadomości e-mail znajdują się obrazy, wyświetlą się również wyskakujące okna dialogowe.
  • Jeśli dostaniesz Makra w tym projekcie są wyłączone błąd, sprawdź ten samouczek: Jak włączyć i wyłączyć makra w Outlooku?

Grupowe drukowanie wszystkich załączników w wielu wybranych wiadomościach e-mail z wyjątkiem zdjęć w treści

Aby drukować tylko załączniki w wielu e-mailach, ale zdjęcia w treści wiadomości w Outlooku, wykonaj poniższe czynności, aby zastosować kod VBA.

1. Proszę czekać na liście mailingowej Ctrl or Shift klucze, aby wybrać wiele wiadomości e-mail, których załączniki chcesz wydrukować.

2. naciśnij inny + F11 klucze razem, aby otworzyć okno Microsoft Visual Basic for Applications.

3. W oknie Microsoft Visual Basic for Applications kliknij Tools > Referencje. A następnie sprawdź Środowisko wykonawcze skryptów firmy Microsoft Microsoft opcja, jak pokazano poniżej. Po zakończeniu kliknij OK.

4. Kliknij wstawka > Moduł, a następnie wklej poniższy kod VBA do nowego okna modułu.

VBA: wydrukuj wszystkie załączniki w wielu wiadomościach e-mail programu 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. naciśnij F5 lub kliknij run przycisk, aby uruchomić ten kod VBA. Teraz zobaczysz, że wszystkie załączniki w wybranych wiadomościach e-mail są drukowane.

Uwaga:

  • Każdy załączony obraz spowoduje wyświetlenie wyskakującego okna dialogowego z prośbą o potwierdzenie drukowania. Podczas gdy inne typy plików zostaną wydrukowane bezpośrednio.
  • Obrazy w treści wiadomości nie zostaną wydrukowane.
  • Jeśli dostaniesz Makra w tym projekcie są wyłączone błąd, sprawdź ten samouczek: Jak włączyć i wyłączyć makra w Outlooku?

 


Demo: wydrukuj jeden lub wszystkie załączniki w wiadomości e-mail programu Outlook


Wskazówka: W tym wideo, Kutools została dodana przez Kutools dla programu Outlook. Jeśli potrzebujesz, kliknij tutaj mieć 60-dniowy bezpłatny okres próbny bez ograniczeń!


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

Comments (24)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Is it possible to specify a network printer instead of always printing with the standard printer?
This comment was minimized by the moderator on the site
Dear all,

I had tried the VBA and the code runs but many popups are opening on screen to print images from the mail signature (apparently this is considered an attachment). Anyone knows how to solve it?

S.
This comment was minimized by the moderator on the site
If you don't want to print pictures in the body of a message, please use the code below:
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
This comment was minimized by the moderator on the site
Dear Amanda,

Thank you for the code. It worked!

S.
This comment was minimized by the moderator on the site
Hi there,

Sorry that printing images will bring up popups. You will have to confirm each to download all the images. If you don't need to print images, please click Cancel.

Amanda
This comment was minimized by the moderator on the site
I am using Microsoft 365 and this worked after deleting line 9. Thanks! This has saved a bit of time for me.
Rated 5 out of 5
This comment was minimized by the moderator on the site
hallo, ich möchte nur den Anhang der Mails von der angegebenen Adresse senden, wie kann ich das machen, danke
This comment was minimized by the moderator on the site
Vielen, vielen Dank dafür! Hat uns enorm viel Arbeit erspart.Auch ich musste - wie bereits in den Kommentaren geschrieben - die neunte Zeile "Dim xAttachment As Outlook.Attachment On Error Resume Next" entfernen, dann lief der Code einfandfrei durch.
This comment was minimized by the moderator on the site
Hi, this worked fine for me yesterday but now it is saying 'the macros in this project are disabled' Any advice how to enable them? 
This comment was minimized by the moderator on the site
This comment was minimized by the moderator on the site
on line 9 , removing "On Error Resume Next" worked for me.
This comment was minimized by the moderator on the site
Hi everyone, we updated the VBA code in the tutorial on 2022/08/03. If you still need to print all attachments, please check the new code. 😊
This comment was minimized by the moderator on the site
Hi, I have been using this shortcut for a few weeks now, printing all attachments from multiple emails at once, and I have recently been having to remove line 9 as Nilanka said, which has been working, but this no longer works. Im getting the warning box saying the macros in this project are disabled.....and so on... if someone has a solution to make this work as it has been prior to now, please lmk, as i am selecting about 60 emails all containing attachments to print. Thanks
This comment was minimized by the moderator on the site
This comment was minimized by the moderator on the site
Thank you 
This comment was minimized by the moderator on the site
yes this just worked for me as well. Thank you!
This comment was minimized by the moderator on the site
the VBA code gives syntax is error
This comment was minimized by the moderator on the site
if a pdf has the same name the macro prints just one pdf, how can i change the code in order to modify the pdf name?
This comment was minimized by the moderator on the site
if you want to print all attachments together in 1 email here's what you do. first make a folder on your desktop....I named mine "print". go to the email with the attachments....highlight all of the attachments, right click, save all attachments to the print folder. Open the print folder.....highlight all of them.....right click.....print.



now if only I could figure out how to print all the attachments in 200 emails without opening each one and printing it.
This comment was minimized by the moderator on the site
Kutools for Outlook's Detach All (Attachments) feature can help you download all attachments from multiple emails with several clicks! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations