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 :

VBA Ouvrir la pièce jointe en Word et l'exporter en PDF [OL-2010]


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Février 2016
    Messages : 14
    Points : 14
    Points
    14
    Par défaut VBA Ouvrir la pièce jointe en Word et l'exporter en PDF
    Bonjour,

    j'ai mis en place le code ci-dessous mais à la ligne "AppWrd.ExportAsFixedFormat" j'ai le message d'erreur 5 "Argument ou appel de procédure incorrect".
    DocFile et AppWrd sont défini comme des objets (Object) et sFile et fichier_pdf comme des chaînes (String).
    Je ne vois pas où se situe le problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If InStr(1, myAttachments.Item(I).FileName, ".doc") > 1 Or InStr(1, myAttachments.Item(I).FileName, ".docx") > 1 Then
                        sFile = bPath & a & "_" & I & "." & Mid(myAttachments.Item(I).FileName, InStrRev(myAttachments.Item(I).FileName, ".") + 1)
                        myAttachments.Item(I).SaveAsFile sFile
                        fichier_pdf = bPath & a & "_" & I & ".pdf"
                        Set AppWrd = CreateObject("Word.Application")
                        Set DocFile = AppWrd.Documents.Open(sFile)
                        AppWrd.Visible = True
                        AppWrd.ActiveDocument.ExportAsFixedFormat OutputFilename:= _
                            fichier_pdf, ExportFormat:= _
                            wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
                            wdExportOptimizeForPrint, Range:=wdExportAllDocument

  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
    Bonjour

    Est ce que tu as une références à "Microsoft Word 1x.0 object library " dans outils/références

    sinon il faut ajouter les constantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Const wdExportFormatPDF = 17 '(&H11)
    Const wdExportOptimizeForPrint = 0
    Const wdExportAllDocument = 0

    Si ce n'est pas cela Essaye en ne nommant pas les arguments de ExportAsFixedFormat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.ExportAsFixedFormat fichier_pdf, wdExportFormatPDF, False, wdExportOptimizeForPrint, wdExportAllDocument

  3. #3
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Février 2016
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Non, je n'ai pas coché la référence car la macro sera utilisée sur des postes avec Office 2010 et Office 2013.
    En essayant la 2ème solution, j'ai toujours le même message d'erreur.

  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
    as tu ajouté les constantes ? en début de macro

  5. #5
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Février 2016
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Génial, ça fonctionne.
    Par contre, j'ai dû mettre le code ci-dessous pour que ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AppWrd.ActiveDocument.ExportAsFixedFormat fichier_pdf, wdExportFormatPDF, False, wdExportOptimizeForPrint, wdExportAllDocument
    Un immense merci Oliv.
    Bon week-end.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 31/03/2010, 23h12
  2. Impossible d'ouvrir une pièce jointe
    Par ajc35000 dans le forum Outlook
    Réponses: 2
    Dernier message: 15/01/2008, 18h56
  3. [VBA]Chemin répertoire pièces jointes
    Par delcroixf dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/03/2007, 11h58
  4. [VBA]Boucle et Pièces Jointes sur mailing list
    Par delcroixf dans le forum VBA Access
    Réponses: 7
    Dernier message: 23/03/2007, 10h11
  5. Réponses: 6
    Dernier message: 16/11/2005, 11h46

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