in

Impression par lots de pièces jointes PDF dans Outlook

Avez-vous déjà voulu imprimer toutes les pièces jointes que vous recevez dans votre boîte e-mail Outlook? Supposons que vous vous soyez abonné à un service de courrier électronique gratuit de télécopie en PDF et que vous souhaitiez qu’ils soient imprimés automatiquement, comme un télécopieur à 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 e-mails de télécopie entrants dans un sous-dossier distinct. En utilisant le code VB, nous créons une macro pour que vous puissiez exécuter un travail d’impression sur chaque e-mail de ce sous-dossier afin que vous n’ayez pas à ouvrir l’e-mail et à imprimer les pièces jointes une par une.

Étape 1

Créez un sous-dossier nommé «Batch Prints» sous «Mailbox – YourName» dans Outlook.

Étape 2

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

Placez l’adresse e-mail de votre fournisseur de fax dans le champ «email@myfaxservice.com». Dans la ligne d’objet, placez le texte persistant envoyé par le fournisseur de télécopie à chaque fois (ne mettez pas le texte qui sera modifié périodiquement). Le troisiè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. Ouvrez d’abord l’éditeur VB en accédant à Tools / Macro / Visual Basic Editor. Vous devriez voir que l’éditeur VB ressemble à ceci:

Étape 4

Dans la fenêtre Projet de gauche, faites un clic droit sur l’élément Projet1 et insérez un module nommé Module1:

Étape 5

Une fois le Module1 créé, copiez le code ci-dessous dans la fenêtre sur le côté droit comme indiqué dans la puce n ° 3.

Public Sub PrintAttachments()
    Dim Inbox As MAPIFolder
    Dim Item As MailItem
    Dim Atmt As Attachment
    Dim FileName As String
    Dim i As Integer
 
    Set Inbox = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent.Folders.Item("Batch Prints")

    For Each Item In Inbox.Items
        For Each Atmt In Item.Attachments
            ' all attachments are first saved in the temp folder C:Temp.  Be sure to create this folder.
            FileName = "C:Temp" & Atmt.FileName
            Atmt.SaveAsFile FileName
            ' please change the program folder accordingly if the Acrobat Reader is not installed on drive C:
            Shell """C:Program FilesAdobeReader 8.0Readeracrord32.exe"" /h /p """ + FileName + """", vbHide
        Next
        
        Item.Delete  'remove this line if you don't want the email to be deleted automatically
    Next

    Set Inbox = Nothing
End Sub


Notez que vous devrez peut-être modifier la ligne de code qui appelle Acrobat pour qu’elle corresponde au chemin sur votre système.

Étape 6

La configuration est maintenant terminée. Tous les e-mails de votre fournisseur de fax seront déplacés vers vos «Impressions par lots» lorsqu’ils arriveront. Veuillez noter que dans l’exemple, nous nous attendons à ce que toutes les pièces jointes soient au format PDF, nous utilisons donc Acrobat acrord32.exe pour imprimer chaque pièce jointe.

Utilisation de la macro

Désormais, lorsque vous souhaitez imprimer toutes les pièces jointes, accédez 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 acheminé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!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment convertir des chansons iTunes en MP3

Comment améliorer la durée de vie de la batterie avec les nouveaux paramètres d’alimentation de Windows 10