IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Macro pour imprimer pièces jointes de plusieurs mails sélctionnés


Sujet :

VBA Outlook

  1. #1
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    420
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 420
    Points : 174
    Points
    174
    Par défaut Macro pour imprimer pièces jointes de plusieurs mails sélctionnés
    Bonjour a tous,

    Voilà mon problème est le suivant :

    j'ai un certain nombre de mail avec des pièces jointes
    Je voudrais imprimer les pièces jointes pdf de ces mails sélectionnés.
    Peut on faire une macro qui le fait automatiquement.

    J'ai essayé plein de bout de code mais je n'y arrive pas.

    Merci de votre réponse svp.

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Oui ca détruit les forets, mais on peut le faire.

    Il faut exporter les pj dans un repertoire temporaire puis on peut utiliser la commande print (équivalent du clic droit dans explorateur)du programme associé aux pdf.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    'en tête de module 
    'ceci est un code de GEO
     Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ 
        (ByVal hWnd As Long, ByVal lpszOp As String, _ 
        ByVal lpszFile As String, ByVal lpszParams As String, _ 
        ByVal lpszDir As String, ByVal fsShowCmd As Long) As Long 
     
    'la macro
    Sub printPDF()
    Dim Res As Long
    Dim chemin_de_MaPj As String
    chemin_de_MaPj = "z:\test_champ.pdf"
    Res = ShellExecute(0, "print", chemin_de_MaPj, "", "", 0)
    End Sub

  3. #3
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    420
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 420
    Points : 174
    Points
    174
    Par défaut
    Merci de la réponse mais ce n'est pas ce que je souhaite obtenir.
    En fait, je veux imprimer automatiquement toutes les pièces jointes pdf comtenu dans tous les mails que j'aurai sélectionné dans outlook.

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par devdev Voir le message
    Merci de la réponse mais ce n'est pas ce que je souhaite obtenir
    Tu parles de la destruction des forets ? je t'en félicite
    En fait, je veux imprimer automatiquement toutes les pièces jointes pdf comtenu dans tous les mails que j'aurai sélectionné dans outlook.
    et bien pour l'impression tu as la solution, pour l'automatique sur une selection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Sub ImprimePDFdeTouteLaSelection()
    '---------------------------------------------------------------------------------------
    ' Procedure : ImprimePDFdeTouteLaSelection
    ' Author    : Oliv'
    ' Date      : 26/11/2008
    ' Purpose   :
    '---------------------------------------------------------------------------------------
    '
        Dim MonOutlook As Outlook.Application
        Dim Mail As Object
        Dim LeMail As Outlook.MailItem
        Dim LesMails As Object
        Set MonOutlook = Outlook.Application
        Set LesMails = MonOutlook.ActiveExplorer.Selection
        For Each LeMail In LesMails
     
     
                Dim pj As Attachment
                For Each pj In LeMail.Attachments
                    If Right(UCase(pj.FileName), 4) = ".PDF" Then
                        LeFichier = "c:\temp\ziptemp\" & pj.FileName
                        pj.SaveAsFile (LeFichier)
                        'là tu mets ta fonction pour imprimer
     
                       doevents
                        Kill LeFichier 'supprime le fichier
                    End If
                Next pj
     
        Next LeMail
        Set LesMails = Nothing
        MsgBox "Opération terminée"
    End Sub

    tu mélanges le tout et ca devrait être bon

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/10/2012, 15h39
  2. Imprimer pièces jointes de plusieurs mails sélctionnés
    Par cetipabo dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 22/05/2012, 13h44
  3. Content-type pour une pièce jointe dans un mail
    Par rcjcrcjc dans le forum Langage
    Réponses: 2
    Dernier message: 14/10/2009, 18h51
  4. Réponses: 6
    Dernier message: 14/11/2006, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo