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
- Au tout début, lancez votre application Outlook.
- Ensuite, dans la fenêtre principale, appuyez sur les touches "Alt + F11" pour accéder à l'éditeur VBA.
- Dans la fenêtre suivante "Microsoft Visual Basic pour Applications", ouvrez un module vide.
- 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
- Ensuite, vous pouvez ajouter la nouvelle macro à la barre d'outils d'accès rapide.
- Après cela, vous devez définir le niveau de sécurité de votre macro Outlook sur faible.
- 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
