3Jul

Batch Print PDF Pièces jointes dans Outlook

Cet article a été écrit par Sean Tsai, un expert en entreposage de données et un bon ami du How-To Geek

Avez-vous déjà voulu imprimer chaque pièce jointe que vous recevez dans votre boîte de courriel Outlook? Disons que vous vous êtes abonné à un service de fax gratuit en PDF et que vous voulez qu'ils soient imprimés automatiquement comme un fax à l'ancienne.

Voici un moyen rapide d'y parvenir si vous êtes à l'aise avec un peu de programmation VB( macro).

Ce que nous montrons ici est de créer une règle dans Outlook et de déplacer les emails de fax entrants dans un sous-dossier séparé.En utilisant le code VB, nous créons une macro pour que vous puissiez exécuter un travail d'impression sur tous les e-mails de ce sous-dossier. Vous n'avez donc pas besoin d'ouvrir l'e-mail et d'imprimer les pièces jointes une par une.

Etape 1

Créez un sous-dossier nommé "Batch Prints" sous "Mailbox - YourName" dans Outlook.

Etape 2

Créez une règle( dans le menu Outils / Règles et alertes) dans Outlook qui ressemble à ceci:

Placez l'adresse email de votre fournisseur de fax dans le champ "[email protected]".Dans la ligne Objet, placez le texte persistant envoyé par le fournisseur de fax à chaque fois( ne placez pas le texte qui sera modifié périodiquement).Le 3ème champ "Batch Prints" est le sous-dossier que vous venez de créer à la première étape.

Étape 3

Créez une macro VB.Commencez par afficher l'éditeur VB en accédant à Tools /Macro/ Visual Basic Editor. Vous devriez voir l'éditeur VB ressembler à ceci:

Étape 4

Dans la fenêtre de gauche du projet, faites un clic droit sur l'élément Project1 et insérez un module nommé Module1:

Étape 5

Une fois le Module1 créé, copiez le code ci-dessous dans lefenêtre sur le côté droit comme indiqué dans la balle # 3.

Public Sub PrintAttachments() Réduire la boîte de réception en tant que MAPIFolder Dim Item en tant que MailItem Dim Atmt en tant que pièce jointe Dim FileName As String Dim en tant que Integer Set Inbox = GetNamespace( "MAPI"). GetDefaultFolder( olFolderInbox). Parent. Folders. Item( "Batch Prints") Pour chaque élément dans Inbox. Items pour chaque Atmt Dans Item. Attachments 'toutes les pièces jointes sont d'abord enregistrées dans le dossier temp C: \ Temp. Assurez-vous de créer ce dossier. FileName = "C: \ Temp \" &Atmt. FileName Atmt. SaveAsFile FileName 's'il vous plaît changer le dossier du programme en conséquence si Acrobat Reader n'est pas installé sur le lecteur C: Shell "" "C: \ Program Files \ Adobe \ Reader 8.0 \ Lecteur \ acrord32.exe" "/ h /p "" "+ NomFichier +" "" ", vbHide Item suivant. Delete 'supprime cette ligne si vous ne souhaitez pas que l'e-mail soit automatiquement supprimé Next Set Inbox = Nothing End Sous

Notez que vous devrez peut-être modifier la lignedu code qui appelle Acrobat pour correspondre au chemin sur votre système.

Étape 6

La configuration est maintenant terminée. Tous les emails de votre fournisseur de fax seront déplacés vers vos "Batch Prints" quand ils arriveront. Notez que dans l'exemple, nous attendons que toutes les pièces jointes soient au format PDF donc nous utilisons Acrobat acrord32.exe pour imprimer chaque pièce jointe.

Utilisation de la macro

Maintenant, quand vous voulez imprimer toutes les pièces jointes, allez simplement à la macro et exécutez la macro PrintAttachments et toutes les pièces jointes seront imprimées séquentiellement. Le courrier électronique sera supprimé et placé dans la corbeille une fois imprimé.

Remarque: les impressions sont routées vers votre imprimante par défaut, vous devez donc vous assurer qu'un pilote d'imprimante valide est configuré et sélectionné.

J'espère que c'est utile!