R05070 Imprimer les noms des pièces jointes aux messages en HTML
Publié par JièL le Mercredi 14 février 2007 15:16

"-------------------------------

Sub Print_HTML_PJ()
' *** imprimer les noms des pièces jointes des messages en HTML ***
' *** Vous en avez rêvé, Anacoluthe l'a fait ;-) ***
' *** modifié le 31/11/2004 par Isabelle Prawitz ***
Dim ListePJ As String
For Each oMessage In ActiveExplorer.Selection
    If oMessage.BodyFormat = olFormatHTML And _
    oMessage.Attachments.Count > 0 Then
        ListePJ = ""
        For Each PJ In oMessage.Attachments
            ListePJ = ListePJ & PJ.FileName & "<br>"
        Next PJ
        ListePJ = "Pièces jointes : " & ListePJ
        oMessage.HTMLBody = ListePJ & "<br>" & oMessage.HTMLBody
    End If
oMessage.PrintOut
Next oMessage
End Sub


"-------------------------------


Nota : si vous avez Outlook 2000, remplacer la ligne


    If oMessage.BodyFormat = olFormatHTML And _
 

par

 

    If oMessage.HTMLBody = vbNullString And _
 

 

Sélectionner les lignes entre les pointillés et les copier. Ouvrir Outlook et appuyer sur les touches [Alt]+[F11]

Double clic sur ThisOutlookSession et coller dans la partie droite la macro précédemment copiée.

Fermer ensuite l'éditeur et, par sécurité, quitter Outlook en confirmant l'enregistrement de la macro.

Relancer ensuite Outlook, clic droit sur une barre d'outils, Personnaliser, onglet Commandes, choisir Macros dans la liste de gauche et faire glisser Projet1.ThisOutlookSession.Print_HTML_PJ à l'emplacement voulu dans la barre d'outils voulue.

Clic droit sur le bouton ajouté pour choisir Par défaut pour afficher une icône au lieu du texte.

Cliquer sur le bouton Fermer pour terminer. C'est prêt, ce bouton est maintenant utilisable pour imprimer tous les messages, en HTML ou pas.


Une variante d'Isabelle Prawitz permettant de modifier la mise en forme du texte indiquant les PJ


oMessage.HTMLBody = "<font style='font-family: Arial ;font-size: 14pt ;'>" & ListePJ & "</font><br>" & oMessage.HTMLBody


en remplacement de la ligne : oMessage.HTMLBody = ListePJ & "<br>" & oMessage.HTMLBody
Vous pouvez remplacer le nom et la taille de la police par ce que vous voulez.

Vous avez une solution made in MS (mais beurk) ici http://support.microsoft.com/kb/821840/fr