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

Comment imprimer toutes les pièces jointes dans un / plusieurs e-mails dans Outlook?

Comme vous le savez, il n'imprimera que le contenu de l'e-mail tel que l'en-tête, le corps lorsque vous cliquez sur le bouton Déposez le > Impression dans Microsoft Outlook, mais n'imprimez pas les pièces jointes. Ici, nous allons vous montrer comment imprimer facilement toutes les pièces jointes d'un e-mail sélectionné dans Microsoft Outlook.


Imprimez toutes les pièces jointes dans un e-mail une par une

Microsoft Outlook nous fournit Impression rapide , qui peut vous aider à imprimer les pièces jointes dans un e-mail une par une.

1. Sélectionnez l'e-mail dont vous imprimerez les pièces jointes ultérieurement.

2. Cliquez sur une pièce jointe dans cet e-mail.

3. Clique le Impression rapide bouton dans le Actions groupe sur le Pièces jointes languette.

Noter la Outils de fixation ne sera pas activé tant que vous n'aurez pas cliqué sur les pièces jointes dans les e-mails.

4. Une boîte de dialogue d'ouverture de pièce jointe apparaît, et veuillez cliquer sur le Open .

Veuillez noter que cette étape ouvrira la pièce jointe sélectionnée et imprimera cette pièce jointe sélectionnée en même temps.

Pour imprimer d'autres pièces jointes dans cet e-mail, veuillez répéter les étapes 2 à 4.

Enregistrez / exportez rapidement toutes les pièces jointes de plusieurs e-mails dans Outlook

Normalement, nous pouvons enregistrer les pièces jointes d'un e-mail en activant le Outils de fixation et en appliquant le Enregistrer toutes les pièces jointes fonctionnalité dans Outlook. Mais que se passe-t-il si vous enregistrez des pièces jointes à partir de plusieurs e-mails ou de tout le dossier de messagerie dans Outlook? Essayez Kutools pour Outlook Enregistrer tout (Pièces jointes). Cliquez pour un essai gratuit de 60 jours sans limitation!
enregistrer les pièces jointes dans plusieurs e-mails kto9

Impression par lots de toutes les pièces jointes dans un seul e-mail

S'il y a de nombreuses pièces jointes dans le même message électronique, il faudra beaucoup de temps pour les imprimer une par une. Et la méthode suivante vous guidera facilement dans l'impression par lots de toutes les pièces jointes d'un e-mail sélectionné.

1. Sélectionnez l'e-mail dont vous imprimerez les pièces jointes ultérieurement.

2. Dans Outlook 2010 ou versions ultérieures, cliquez sur le bouton Déposez le > Impression > Options d'impression. Voir la capture d'écran suivante:

3. Dans la boîte de dialogue Imprimer, veuillez cocher la case Imprimer les fichiers joints. Les pièces jointes seront imprimées sur l'imprimante par défaut uniquement option dans la Options d'impression .

4. Clique le Impression .

5. Dans la boîte de dialogue Ouvrir une pièce jointe au courrier, cliquez sur le bouton Open bouton pour continuer. (Notes: Cette boîte de dialogue apparaîtra séparément pour chaque pièce jointe.)

Désormais, toutes les pièces jointes de ce message électronique sélectionné seront imprimées en même temps.


Imprimez par lots toutes les pièces jointes et les images dans plusieurs e-mails sélectionnés

Pour imprimer toutes les pièces jointes dans plusieurs e-mails ainsi que toutes les images du corps du message dans Outlook, veuillez suivre les étapes ci-dessous pour appliquer un code VBA.

1. Dans la liste de diffusion, veuillez maintenir Ctrl or Mission touches pour sélectionner plusieurs e-mails dont vous imprimerez les pièces jointes.

2. presse autre + F11 touches ensemble pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

3. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur Outils > Références. Et puis vérifiez le Exécution de scripts Microsoft comme indiqué ci-dessous. Une fois terminé, cliquez sur OK.

4Cliquez sur insérer > Module, puis collez sous le code VBA dans la nouvelle fenêtre de module.

VBA: imprimer toutes les pièces jointes dans plusieurs e-mails 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. presse F5 ou cliquez sur la course bouton pour exécuter ce code VBA. Vous verrez maintenant que toutes les pièces jointes des e-mails sélectionnés et les images du corps du message sont imprimées.

Remarque:

  • Chaque image fera apparaître une boîte de dialogue contextuelle pour vous demander la confirmation de l'impression. Alors que d'autres types de fichiers seront imprimés directement.
  • S'il y a des images dans une signature d'e-mail, elles afficheront également des boîtes de dialogue contextuelles.
  • Si vous obtenez Les macros de ce projet sont désactivées erreur, veuillez consulter ce tutoriel : Comment activer et désactiver les macros dans Outlook ?

Impression par lots de toutes les pièces jointes dans plusieurs e-mails sélectionnés, à l'exception des images dans le corps

Pour imprimer uniquement les pièces jointes dans plusieurs e-mails mais les images dans le corps du message dans Outlook, veuillez suivre les étapes ci-dessous pour appliquer un code VBA.

1. Dans la liste de diffusion, veuillez maintenir Ctrl or Mission touches pour sélectionner plusieurs e-mails dont vous imprimerez les pièces jointes.

2. presse autre + F11 touches ensemble pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

3. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur Outils > Références. Et puis vérifiez le Exécution de scripts Microsoft comme indiqué ci-dessous. Une fois terminé, cliquez sur OK.

4Cliquez sur insérer > Module, puis collez sous le code VBA dans la nouvelle fenêtre de module.

VBA: imprimer toutes les pièces jointes dans plusieurs e-mails 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. presse F5 ou cliquez sur la course bouton pour exécuter ce code VBA. Vous verrez maintenant que toutes les pièces jointes des e-mails sélectionnés sont imprimées.

Remarque:

  • Chaque image jointe fera apparaître une boîte de dialogue contextuelle pour vous demander de confirmer l'impression. Alors que d'autres types de fichiers seront imprimés directement.
  • Les images dans le corps du message ne seront pas imprimées.
  • Si vous obtenez Les macros de ce projet sont désactivées erreur, veuillez consulter ce tutoriel : Comment activer et désactiver les macros dans Outlook ?

 


Démo: imprimer une ou toutes les pièces jointes dans un e-mail Outlook


Conseil : Dans cette vidéo, Kutools l'onglet est ajouté par Kutools pour Outlook. Si vous en avez besoin, cliquez sur ici pour avoir un essai gratuit de 60 jours sans limitation!


Kutools for Outlook - Apporte 100 fonctionnalités avancées à Outlook et simplifie grandement le travail!

  • CC / BCC automatique par des règles lors de l'envoi d'e-mails; Transfert automatique Emails multiples par coutume; Réponse automatique sans serveur d'échange, et plus de fonctionnalités automatiques ...
  • Avertissement BCC - afficher le message lorsque vous essayez de répondre à tous si votre adresse e-mail est dans la liste BCC; Rappeler en cas de pièces jointes manquantes, et plus de fonctionnalités de rappel ...
  • Répondre (à tous) avec toutes les pièces jointes dans la conversation par courrier électronique; Répondre à de nombreux e-mails en secondes; Ajouter un message d'accueil automatique quand répondre; Ajouter la date au sujet ...
  • Outils de pièces jointes: gérer toutes les pièces jointes dans tous les courriers, Détachement automatique, Compresser tout, Tout renommer, Tout enregistrer ... Rapport rapide, Compter les courriers sélectionnésplus
  • Courriels indésirables puissants par coutume; Supprimer les messages et contacts en doubleplus Vous permettre de faire plus intelligemment, plus rapidement et mieux dans Outlook.
tir kutools outlook onglet kutools 1180x121
tir kutools outlook kutools plus onglet 1180x121
 
Commentaires (23)
Noté 5 hors 5 · évaluations 1
Ce commentaire a été minimisé par le modérateur sur le site
C'est très utile, mais ça ne m'aide pas avec Office 365 ??
Ce commentaire a été minimisé par le modérateur sur le site
Je pourrais comprendre cette partie par moi-même - ce que j'essaie de comprendre, c'est pourquoi, malgré cela, les pièces jointes ne s'imprimeraient pas. Un message d'erreur apparaît pour chaque pièce jointe me demandant si je veux "ouvrir" ou "enregistrer". Le choix de l'une ou l'autre option produit exactement ces résultats - en d'autres termes, toujours pas d'impression, juste une ouverture ou une sauvegarde. J'ai 20 pièces jointes de 4 e-mails. Je ne veux vraiment pas avoir à ouvrir 80 documents juste pour pouvoir les imprimer. Il y a clairement un paramètre de sécurité "sauve-moi de moi-même" qui doit être effacé pour que je puisse utiliser mon propre ordinateur et le système d'exploitation que j'ai acheté et payé. C'est ce que j'ai besoin de savoir.
Ce commentaire a été minimisé par le modérateur sur le site
Double-cliquez sur l'e-mail pour "sortir" par lui-même. Faites un clic droit sur l'une des pièces jointes et cliquez sur "tout sélectionner", puis sur "impression rapide".
Ce commentaire a été minimisé par le modérateur sur le site
D'accord avec Léa, ça ne marche pas. Il imprime simplement le corps principal de l'e-mail et la première pièce jointe, pas tous. Besoin d'instructions sur la façon de les imprimer tous en utilisant les options "tout sélectionner" indiquées ci-dessus.
Ce commentaire a été minimisé par le modérateur sur le site
si vous souhaitez imprimer toutes les pièces jointes ensemble dans 1 e-mail, voici ce que vous faites. créez d'abord un dossier sur votre bureau.... J'ai nommé le mien "print". accédez à l'e-mail avec les pièces jointes ... mettez en surbrillance toutes les pièces jointes, cliquez avec le bouton droit de la souris, enregistrez toutes les pièces jointes dans le dossier d'impression. Ouvrez le dossier d'impression ..... mettez-les tous en surbrillance ..... faites un clic droit ..... imprimer.



maintenant, si seulement je pouvais comprendre comment imprimer toutes les pièces jointes dans 200 e-mails sans les ouvrir et les imprimer.
Ce commentaire a été minimisé par le modérateur sur le site
La fonction Détacher tout (pièces jointes) de Kutools for Outlook peut vous aider à télécharger toutes les pièces jointes de plusieurs e-mails en quelques clics! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
Ce commentaire a été minimisé par le modérateur sur le site
si un pdf a le même nom, la macro n'imprime qu'un seul pdf, comment puis-je changer le code afin de modifier le nom du pdf?
Ce commentaire a été minimisé par le modérateur sur le site
le code VBA donne la syntaxe est une erreur
Ce commentaire a été minimisé par le modérateur sur le site
à la ligne 9, la suppression de "On Error Resume Next" a fonctionné pour moi.
Ce commentaire a été minimisé par le modérateur sur le site
oui cela a fonctionné pour moi aussi. Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Merci 
Ce commentaire a été minimisé par le modérateur sur le site
Salut, j'utilise ce raccourci depuis quelques semaines maintenant, imprimant toutes les pièces jointes de plusieurs e-mails à la fois, et j'ai récemment dû supprimer la ligne 9 comme l'a dit Nilanka, qui fonctionnait, mais cela ne fonctionne plus. Je reçois la boîte d'avertissement indiquant que les macros de ce projet sont désactivées ..... et ainsi de suite ... si quelqu'un a une solution pour que cela fonctionne comme avant, veuillez lmk, car je sélectionne environ 60 e-mails contenant tous des pièces jointes à imprimer. Merci
Ce commentaire a été minimisé par le modérateur sur le site
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour à tous, nous avons mis à jour le code VBA dans le tutoriel du 2022/08/03. Si vous avez encore besoin d'imprimer toutes les pièces jointes, veuillez vérifier le nouveau code. 😊
Ce commentaire a été minimisé par le modérateur sur le site
Salut, cela a bien fonctionné pour moi hier, mais maintenant, il est dit "les macros de ce projet sont désactivées". Des conseils pour les activer ? 
Ce commentaire a été minimisé par le modérateur sur le site
Ce commentaire a été minimisé par le modérateur sur le 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.
Ce commentaire a été minimisé par le modérateur sur le site
bonjour, ich möchte nur den Anhang der Mails von der angegebenen Adresse senden, wie kann ich das machen, danke
Ce commentaire a été minimisé par le modérateur sur le site
J'utilise Microsoft 365 et cela a fonctionné après la suppression de la ligne 9. Merci ! Cela m'a fait gagner un peu de temps.
Ce commentaire a été minimisé par le modérateur sur le site
Chers tous,

J'avais essayé le VBA et le code s'exécute, mais de nombreuses fenêtres contextuelles s'ouvrent à l'écran pour imprimer des images à partir de la signature du courrier (apparemment, cela est considéré comme une pièce jointe). Quelqu'un sait comment le résoudre?

S.
Ce commentaire a été minimisé par le modérateur sur le site
Salut,

Désolé que l'impression d'images fasse apparaître des popups. Vous devrez confirmer chacun pour télécharger toutes les images. Si vous n'avez pas besoin d'imprimer des images, veuillez cliquer sur Annuler.

Amanda à écrit son
Ce commentaire a été minimisé par le modérateur sur le site
Si vous ne souhaitez pas imprimer d'images dans le corps d'un message, veuillez utiliser le code ci-dessous :
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
Ce commentaire a été minimisé par le modérateur sur le site
Chère Amanda,

Merci pour le code. Ça a marché!

S.
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés