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

Come stampare tutti gli allegati in una / più e-mail in Outlook?

Come sai, stamperà solo il contenuto dell'email come intestazione, corpo quando fai clic su Compila il > Stampa in Microsoft Outlook, ma non stampare gli allegati. Qui ti mostreremo come stampare facilmente tutti gli allegati in un'e-mail selezionata in Microsoft Outlook.


Stampa tutti gli allegati in un messaggio di posta elettronica uno per uno

Microsoft Outlook ci fornisce Stampa veloce funzione, che può aiutarti a stampare gli allegati in un messaggio di posta elettronica uno per uno.

1. Seleziona il messaggio e-mail di cui stamperai gli allegati in seguito.

2. Fare clic su un allegato in questa email.

3. Clicca il Stampa veloce nel pulsante Azioni gruppo sul allegati scheda.

Notare la Strumenti per gli allegati non verrà attivato finché non fai clic sugli allegati nelle e-mail.

4. Viene visualizzata una finestra di dialogo di apertura dell'allegato di posta e fare clic su Apri pulsante.

Tieni presente che questo passaggio aprirà l'allegato selezionato e allo stesso tempo stamperà l'allegato selezionato.

Per stampare altri allegati in questa e-mail, ripetere i passaggi da Passaggio 2 a Passaggio 4.

Salva / esporta rapidamente tutti gli allegati da più email in Outlook

Normalmente possiamo salvare gli allegati da un'e-mail attivando il file Strumenti per gli allegati e applicando il Salva tutti gli allegati caratteristica in Outlook. Ma cosa succede se si salvano gli allegati da più e-mail o dall'intera cartella di posta in Outlook? Prova Kutools per Outlook Salva tutto Funzione (Allegati).


salva gli allegati in più email kto9

Stampa in batch tutti gli allegati in un messaggio di posta elettronica

Se ci sono molti allegati in un messaggio di posta elettronica, sarà necessario molto tempo per stamparli uno per uno. E il seguente metodo ti guiderà attraverso la stampa in batch di tutti gli allegati in un messaggio di posta elettronica selezionato facilmente.

1. Seleziona il messaggio e-mail di cui stamperai gli allegati in seguito.

2. In Outlook 2010 o versioni successive, fare clic su Compila il > Stampa > Opzioni di stampa. Vedi lo screenshot seguente:

3. Nella finestra di dialogo Stampa, controlla il Stampa i file allegati. Gli allegati verranno stampati solo sulla stampante predefinita opzione nel Opzioni di stampa .

4. Clicca il Stampa pulsante.

5. Nella finestra di dialogo Apertura allegato di posta che si apre, fare clic su Apri pulsante per andare avanti. (Note:: Questa finestra di dialogo verrà visualizzata separatamente per ogni allegato.)

Ora tutti gli allegati in questo messaggio e-mail selezionato verranno stampati contemporaneamente.


Stampa in batch tutti gli allegati e le immagini in più e-mail selezionate

Per stampare tutti gli allegati in più e-mail e tutte le immagini nel corpo del messaggio in Outlook, segui i passaggi seguenti per applicare un codice VBA.

1. Nella mailing list, tieni premuto Ctrl or spostamento tasti per selezionare più messaggi di posta elettronica i cui allegati verranno stampati.

2. stampa altro + F11 tasti insieme per aprire la finestra di Microsoft Visual Basic, Applications Edition.

3. Nella finestra di Microsoft Visual Basic, Applications Edition, fare clic su Strumenti > Riferimenti. E poi controlla il file Runtime di script Microsoft opzione come mostrato di seguito. Una volta terminato, fare clic OK.

4. Clic inserire > Modulo, quindi incolla sotto il codice VBA nella finestra del nuovo modulo.

VBA: stampa tutti gli allegati in più email di 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. Stampa F5 o fare clic su Correre pulsante per eseguire questo codice VBA. Ora vedrai che tutti gli allegati nelle e-mail selezionate e le immagini nel corpo del messaggio vengono stampati.

NOTA:

  • Ogni immagine farà apparire una finestra di dialogo pop-up per chiederti la conferma della stampa. Mentre altri tipi di file verranno stampati direttamente.
  • Se sono presenti immagini in una firma e-mail, verranno visualizzate anche finestre di dialogo a comparsa.
  • Se ottieni Le macro in questo progetto sono disabilitate errore, controlla questo tutorial: Come abilitare e disabilitare le macro in Outlook?

Stampa in batch tutti gli allegati in più e-mail selezionate tranne le immagini nel corpo

Per stampare solo gli allegati in più e-mail ma le immagini nel corpo del messaggio in Outlook, segui i passaggi seguenti per applicare un codice VBA.

1. Nella mailing list, tieni premuto Ctrl or spostamento tasti per selezionare più messaggi di posta elettronica i cui allegati verranno stampati.

2. stampa altro + F11 tasti insieme per aprire la finestra di Microsoft Visual Basic, Applications Edition.

3. Nella finestra di Microsoft Visual Basic, Applications Edition, fare clic su Strumenti > Riferimenti. E poi controlla il file Runtime di script Microsoft opzione come mostrato di seguito. Una volta terminato, fare clic OK.

4. Clic inserire > Modulo, quindi incolla sotto il codice VBA nella finestra del nuovo modulo.

VBA: stampa tutti gli allegati in più email di 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. Stampa F5 o fare clic su Correre pulsante per eseguire questo codice VBA. Ora vedrai che tutti gli allegati nelle e-mail selezionate vengono stampati.

NOTA:

  • Ciascuna immagine allegata farà apparire una finestra di dialogo pop-up per chiederti la conferma della stampa. Mentre altri tipi di file verranno stampati direttamente.
  • Le immagini nel corpo del messaggio non verranno stampate.
  • Se ottieni Le macro in questo progetto sono disabilitate errore, controlla questo tutorial: Come abilitare e disabilitare le macro in Outlook?

 


Demo: stampa uno o tutti gli allegati in un'e-mail di Outlook


Consiglio: In questo video, Kutools la scheda viene aggiunta da Kutools per Outlook. Se ne hai bisogno, fai clic su qui per avere una prova gratuita di 60 giorni senza limitazioni!


Kutools for Outlook: porta 100 funzionalità avanzate in Outlook e semplifica notevolmente il lavoro!

  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple personalizzate; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo e-mail è nell'elenco BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email in secondi; Aggiunta automatica di saluto quando rispondi; Aggiungi la data all'oggetto ...
  • Strumenti per gli allegati: gestisci tutti gli allegati in tutti i messaggi, Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto... Rapporto rapido, Conta le email selezionate...
  • E-mail spazzatura potenti per abitudine; Rimuovi messaggi e contatti duplicati... Consentono di fare in modo più intelligente, veloce e migliore in Outlook.
girato kutools outlook scheda kutools 1180x121
girato kutools outlook kutools plus tab 1180x121
 
Commenti (23)
Rinomato 5 su 5 · Valutazioni 1
Questo commento è stato fatto dal moderatore sul sito
Questo è molto utile, ma non mi aiuta con Office 365??
Questo commento è stato fatto dal moderatore sul sito
Potrei capire questa parte da solo: quello che sto cercando di capire è perché, nonostante ciò, gli allegati non vengono stampati. Viene visualizzato un messaggio di errore per ogni allegato che chiede se voglio "aprire" o "salvare". La scelta di una delle due opzioni produce esattamente quei risultati, in altre parole, ancora nessuna stampa, solo un'apertura o un salvataggio. Ho 20 allegati da 4 email. Non voglio davvero dover aprire 80 documenti solo per poterli stampare. C'è chiaramente qualche impostazione di sicurezza "salvami da me stesso" che deve essere cancellata in modo che io possa usare il mio computer e il sistema operativo che ho acquistato e pagato. È quello che devo sapere.
Questo commento è stato fatto dal moderatore sul sito
Fare doppio clic sull'e-mail per "apparire" da solo. Fare clic con il tasto destro su uno degli allegati e fare clic su "seleziona tutto", quindi "stampa rapida".
Questo commento è stato fatto dal moderatore sul sito
D'accordo con Leah, questo non funziona. Stampa semplicemente il corpo principale dell'e-mail e il primo allegato, non tutti. Hai bisogno di istruzioni su come stamparli tutti usando le opzioni "seleziona tutto" mostrate sopra.
Questo commento è stato fatto dal moderatore sul sito
se vuoi stampare tutti gli allegati insieme in 1 email ecco cosa fai. prima crea una cartella sul desktop... ho chiamato la mia "stampa". vai all'e-mail con gli allegati....evidenzia tutti gli allegati, fai clic con il tasto destro, salva tutti gli allegati nella cartella di stampa. Apri la cartella di stampa.....evidenziale tutte.....fai clic con il pulsante destro del mouse.....stampa.



ora se solo potessi capire come stampare tutti gli allegati in 200 e-mail senza aprirli e stamparli.
Questo commento è stato fatto dal moderatore sul sito
La funzione Stacca tutto (Allegati) di Kutools for Outlook può aiutarti a scaricare tutti gli allegati da più e-mail con diversi clic! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
Questo commento è stato fatto dal moderatore sul sito
se un pdf ha lo stesso nome la macro stampa un solo pdf, come posso modificare il codice per modificare il nome del pdf?
Questo commento è stato fatto dal moderatore sul sito
il codice VBA fornisce la sintassi è un errore
Questo commento è stato fatto dal moderatore sul sito
sulla riga 9, la rimozione di "On Error Resume Next" ha funzionato per me.
Questo commento è stato fatto dal moderatore sul sito
sì, questo ha funzionato anche per me. Grazie!
Questo commento è stato fatto dal moderatore sul sito
Grazie 
Questo commento è stato fatto dal moderatore sul sito
Ciao, sto usando questa scorciatoia per alcune settimane, stampando tutti gli allegati da più e-mail contemporaneamente e recentemente ho dovuto rimuovere la riga 9 come ha detto Nilanka, che ha funzionato, ma non funziona più. Ricevo la finestra di avviso che dice che le macro in questo progetto sono disabilitate ..... e così via ... se qualcuno ha una soluzione per farlo funzionare come è stato prima, per favore lmk, sto selezionando circa 60 e-mail tutte contenenti allegati da stampare. Grazie
Questo commento è stato fatto dal moderatore sul sito
Questo commento è stato fatto dal moderatore sul sito
Ciao a tutti, abbiamo aggiornato il codice VBA nel tutorial del 2022/08/03. Se hai ancora bisogno di stampare tutti gli allegati, controlla il nuovo codice. 😊
Questo commento è stato fatto dal moderatore sul sito
Ciao, ha funzionato bene per me ieri, ma ora dice "le macro in questo progetto sono disabilitate" Qualche consiglio su come abilitarle? 
Questo commento è stato fatto dal moderatore sul sito
Questo commento è stato fatto dal moderatore sul sito
Vielen, vielen Dank dafür! Hat uns enorm viel Arbeit erspart.Auch ich musste - wie beits in den Kommentaren geschrieben - die neunte Zeile "Dim xAttachment As Outlook.Attachment On Error Resume Next" entfernen, dann lief der Code einfandfrei durch.
Questo commento è stato fatto dal moderatore sul sito
ciao, ich möchte nur den Anhang der Mails von der angegebenen Adresse senden, wie kann ich das machen, danke
Questo commento è stato fatto dal moderatore sul sito
Sto usando Microsoft 365 e questo ha funzionato dopo aver eliminato la riga 9. Grazie! Questo mi ha fatto risparmiare un po' di tempo.
Rinomato 5 su 5
Questo commento è stato fatto dal moderatore sul sito
Cari tutti,

Avevo provato il VBA e il codice funziona ma molti popup si stanno aprendo sullo schermo per stampare immagini dalla firma della posta (apparentemente questo è considerato un allegato). Qualcuno sa come risolverlo?

S.
Questo commento è stato fatto dal moderatore sul sito
Hi there,

Siamo spiacenti che la stampa di immagini farà apparire i popup. Dovrai confermare ciascuno per scaricare tutte le immagini. Se non è necessario stampare le immagini, fare clic su Annulla.

Amanda
Questo commento è stato fatto dal moderatore sul sito
Se non si desidera stampare le immagini nel corpo di un messaggio, utilizzare il codice seguente:
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
Questo commento è stato fatto dal moderatore sul sito
Cara Amanda,

Grazie per il codice. Ha funzionato!

S.
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL