Comment imprimer par lots toutes les pièces jointes dans plusieurs e-mails avec Outlook VBA

Partage maintenant:

Si vous souhaitez imprimer en masse toutes les pièces jointes de plusieurs e-mails sélectionnés, vous pouvez utiliser la méthode présentée dans cet article. Il utilise un morceau de code VBA pour y parvenir rapidement.

Comme vous pouvez le constater, lorsque vous sélectionnez une seule pièce jointe, une fonction directe "Impression rapide" est disponible dans le ruban "Pièces jointes". Cependant, lorsque vous sélectionnez plus d'une pièce jointe, le bouton "Impression rapide" sera désactivé, sans parler de l'impression de toutes les pièces jointes dans de nombreux e-mails sélectionnés. Par conséquent, à condition que vous souhaitiez imprimer par lots toutes les pièces jointes de plusieurs e-mails en une seule fois, vous devez rechercher d'autres moyens, tels que des outils tiers ou VBA. Focalisés sur ce besoin, nous allons vous exposer ici un morceau de code VBA, qui pourra vous aider à l'obtenir simplement en un clic.

Impression par lots de toutes les pièces jointes dans plusieurs e-mails avec Outlook VBA

Impression par lots de toutes les pièces jointes dans plusieurs e-mails

  1. Au tout début, lancez votre application Outlook.
  2. Ensuite, dans la fenêtre principale, appuyez sur les touches "Alt + F11" pour accéder à l'éditeur VBA.
  3. Dans la fenêtre suivante "Microsoft Visual Basic pour Applications", ouvrez un module vide.
  4. Copiez ensuite les codes VBA suivants dans un tel module.
Sub BatchPrintAllAttachmentsinMultipleEmails()
    Dim objFileSystem As Object
    Dim strTempFolder As String
    Dim objSelection As Outlook.Selection
    Dim objItem As Object
    Dim objMail As Outlook.MailItem
    Dim objAttachments As Outlook.attachments
    Dim objAttachment As Outlook.Attachment
    Dim objShell As Object
    Dim objTempFolder As Object
    Dim objTempFolderItem As Object
    Dim strFilePath As String
 
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp for Attachments " & Format(Now, "YYYY-MM-DD_hh-mm-ss")
    'Create a new temp folder
    MkDir (strTempFolder)
 
    Set objSelection = Outlook.Application.ActiveExplorer.Selection
 
    For Each objItem In objSelection
        If TypeOf objItem Is MailItem Then
           Set objMail = objItem
           Set objAttachments = objMail.attachments
 
           'Save all the attachments in the temp folder
           For Each objAttachment In objAttachments
               strFilePath = strTempFolder & "\" & objAttachment.FileName
               objAttachment.SaveAsFile (strFilePath)
 
               'Print all the files in the temp folder
               Set objShell = CreateObject("Shell.Application")
               Set objTempFolder = objShell.NameSpace(0)
               Set objTempFolderItem = objTempFolder.ParseName(strFilePath)
               objTempFolderItem.InvokeVerbEx ("print")
           Next objAttachment
        End If
    Next
End Sub

Code VBA - Imprimer toutes les pièces jointes dans plusieurs courriers

  1. Ensuite, vous pouvez ajouter la nouvelle macro à la barre d'outils d'accès rapide.
  2. Après cela, vous devez définir le niveau de sécurité de votre macro Outlook sur faible.
  3. Finalement, vous pouvez essayer.
  • Tout d'abord, dans la liste de diffusion, sélectionnez plusieurs emails dont vous souhaitez imprimer les pièces jointes.
  • Cliquez ensuite sur le bouton Nouvelle macro dans la barre d'outils Accès rapide.
  • Ensuite, toutes les pièces jointes des e-mails sélectionnés seront imprimées.

Méfiez-vous des virus cachés dans les macros

Si vous avez configuré le niveau de sécurité de votre macro Outlook sur faible, vous devez déployer beaucoup d'efforts pour bloquer les virus potentiels dans les macros malveillantes. C'est parce que les virus peuvent détruire vos données Outlook en une seule fois. Une fois vos données Outlook corrompues, vous ferez de votre mieux pour récupérer Outlook données par tous les moyens, comme en recourant à un outil puissant comme DataNumen Outlook Repair.

Introduction de l'auteur:

Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris sql corrompu et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.