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 Word Discussion :

Impression pdf et VBA


Sujet :

VBA Word

  1. #21
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Merci Oli,

    J'ai ajouté la référence PDFcreator,

    Tout de suite beaucoup mieux !

    J'ai deux résultats du code :

    - 1) soit je n'active pas "enregistrement automatique" dans pdf creator et je reçois une demande de chemin et de nom pour l'enregistrement du fichier pdf,

    - 2) soit j'active "enregistrement automatique" dans pdf creator et le fichier est enregistré automatiquement sur mon bureau.
    Cependant, il ne porte pas le nom du code mais celui configuré dans les paramètres de pdfcreator, idem pour le chemin.

    Je te joint 2 copies écran pour être plus clair.

    En attendant ta réponse, je te souhaite d'excellent fêtes de fin d'année et un joyeux nouvel an.
    Merci énormément de faire partager ton savoir comme tu le fais sur ce forum.

    En vacances?

    Personne d'autre?

    Merci
    Images attachées Images attachées   

  2. #22
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, pour en revenir à Acrobat Distiller voir sur http://www.developpez.net/forums/d43...bat-distiller/ Post #6

  3. #23
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Merci KiKi29,

    Il est vrai qu'au départ, je voulais utiliser acrobat distiller mais finalement, j'ai adopté PDFCREATOR que je trouve plus léger et plus rapide.

    C'est avec celui-ci que je n'arrive pas donner un nom et un chemin de mon choix.
    Il y a une semaine que je le tourne dans tous les sens... et rien, je n'y arrive pas,

  4. #24
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut,

    j'ai également les 2 et avec PDFCreator reste quand même un pb récurrent (moindre que dans les versions < à la 1.2.3) de process actif

  5. #25
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Bonsoir kiki,

    Merci de ta réponse,

    Tu as raison, je veux bien repartir avec distiller.

    Je vais tester ton code mais j'ai déjà des choses pour lesquelles j'ai besoin d'aide :
    1- mon imprimante par défaut n'est pas distiller,
    Je dois enregistrer mon imprimante par défaut avant de lancer distiller.

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le N° de port réseau NeXY varie suivant le PC sur lequel la macro tourne
    C'est quoi NeXY? ou se trouve ce numéro de port?

    3- pourquoi 3 fichiers?
    .ps et .log sont ils nécessaires?
    Peut-on les mettre dans le répertoire "temp" de windows?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim sNomFichierPS As String
    Dim sNomFichierPDF As String
    Dim sNomFichierLOG As String
    Merci de ton aide,

    Tom0ne

  6. #26
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, L'imprimante par défaut est sauvegardée en début de procédure et rétablie en fin, le code a depuis été modifié et allégé

    PrintOut ne génère pas un fichier PDF mais un fichier PostScript

    PS pour PostScript
    LOG contient un journal des évènements avec les éventuels messages d'erreur lors de la génération du fichier Pdf
    PDF fichier final Pdf

    les fichiers PS et LOG sont effacés en fin de procédure Tst_WORD_Adobe_PDF par un kill

  7. #27
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Salut,
    Merci de tes explications qui me permettent de mieux comprendre le code.

    Le code le plus abouti est il celui-ci ?
    Les parties en rouge sont-elles bien celles où ecrire le chemin et le nom du fichier?

    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
    Option Explicit
     
    Sub Tst_WORD_Adobe_PDF()
    Dim sNomFichierPS As String
    Dim sNomFichierPDF As String
    Dim sNomFichierLOG As String
    Dim PDFDist As PdfDistiller
    Dim PrinterDefault As String
     
        PrinterDefault = Application.ActivePrinter
        Application.ActivePrinter = "Adobe PDF"
     
        sNomFichierPS = ThisDocument.Path & "MON CHEMIN" & "Essai_Word_AdobePDF.ps"
        sNomFichierPDF = ThisDocument.Path & "MON CHEMIN" & "Essai_Word_AdobePDF.pdf"
        sNomFichierLOG = ThisDocument.Path & "MON CHEMIN" & "Essai_Word_AdobePDF.log"
     
        ThisDocument.PrintOut outputFilename:=sNomFichierPS, PrintToFile:=True, Background:=False, Range:=wdPrintAllDocument
     
        Set PDFDist = New PdfDistiller
        PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, "MON FICHIER"
        Set PDFDist = Nothing
     
        Kill sNomFichierPS
        Kill sNomFichierLOG
     
        Application.ActivePrinter = PrinterDefault
    End Sub
    Merci beaucoup.

  8. #28
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Re, cela dépendra de la façon dont tu écriras Mon Chemin (je ne suis pas SOURD), Option Explicit n'est pas là pour rien.

  9. #29
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Bonsoir,

    Je viens de tester le code ci-dessous :
    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
    Option Explicit
     
    Sub Tst_WORD_Adobe_PDF()
    Dim sNomFichierPS As String
    Dim sNomFichierPDF As String
    Dim sNomFichierLOG As String
    Dim PDFDist As PdfDistiller
    Dim PrinterDefault As String
     
        PrinterDefault = Application.ActivePrinter
        Application.ActivePrinter = "Adobe PDF"
     
        sNomFichierPS = ThisDocument.Path & "E:\Documents and Settings\Thom@s\Bureau" & "Essai_Word_AdobePDF.ps"
        sNomFichierPDF = ThisDocument.Path & "E:\Documents and Settings\Thom@s\Bureau" & "Essai_Word_AdobePDF.pdf"
        sNomFichierLOG = ThisDocument.Path & "E:\Documents and Settings\Thom@s\Bureau" & "Essai_Word_AdobePDF.log"
     
        ThisDocument.PrintOut outputFilename:=sNomFichierPS, PrintToFile:=True, Background:=False, Range:=wdPrintAllDocument
     
        Set PDFDist = New PdfDistiller
        PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, "mon_fichier"
        Set PDFDist = Nothing
     
        Kill sNomFichierPS
        Kill sNomFichierLOG
     
        Application.ActivePrinter = PrinterDefault
    End Sub
    J'ai en effet un problème de chemin.

    Mon bureau ne se trouve pas sur le disque C:\ mais sur la partition E:\

    Je reçois l'erreur suivante et je ne sais vraiment pas comment modifier le chemin qui renvoi sur C:/
    Je suis sur un ordinateur personnel.

    Merci de votre aide et bon week-end.
    Images attachées Images attachées  

  10. #30
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Re, encore un drame du copier/coller car visiblement tu ne maitrises même pas le B A BA, et tu ne comprends rien à ce que tu fais. Pour ma part je renonce

    2 échantillons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisDocument.Path & "E:\Documents
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, "mon_fichier"

  11. #31
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Re,
    Je te remercie de ta réponse,
    Je ne suis pas un grand professionnel du VBA en effet et je n'ai jamais dit le contraire.

    Je suis venu sur ce forum pour trouver une réponse, je me suis peut-être trompé de forum.

    Quant au chemin, j'ai suivi ton exemple cité ici :

    http://www.developpez.net/forums/d43...bat-distiller/
    "
    Les chemins PS PDF LOG devront être de la forme "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Documents and Settings\UserName\.....\....."
    Merci

  12. #32
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Re, même pas, car regarde ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sNomFichierPS = "E:\Documents and Settings\Thom@s\Bureau" &"\"& "Essai_Word_AdobePDF.ps"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, ""

  13. #33
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Ok je vais essayer de m'appliquer

  14. #34
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Re, même pas, car regarde ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sNomFichierPS = "E:\Documents and Settings\Thom@s\Bureau" &"\"& "Essai_Word_AdobePDF.ps"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, ""
    Ah oui là j'avoue l'erreur est grossière !
    Tu vois grâce à toi je viens de comprendre cette ligne.

    A quoi servent le guillements à la fin de cette ligne de code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, ""

  15. #35
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Re, extrait de la Doc Adobe

    strInputPostScript The PostScript file to process.
    strOutputPDF The name of the PDF filename.
    strPDFOptions The name and path of the Adobe PDF settings file to use.

  16. #36
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Re,

    Merci de ta réponse,

    Je viens de tester le code ci-dessous,
    Je ne rencontre aucune erreur et le fichier pdf abouti bien sur mon bureau.

    Par contre, sais-tu pourquoi le fichier pdf est vide?
    J'ai essayé en envoyant les polices ou sans envoyer les polices et j'ai le même résultat. (une seule page blanche)

    Et enfin j'ai essayé de paramétrer l'ouverture automatique du pdf généré mais il semble qu'il faille envoyer la commande depuis le Postscript.

    qu'en penses-tu?

    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
    Option Explicit
     
    Sub Tst_WORD_Adobe_PDF()
    Dim sNomFichierPS As String
    Dim sNomFichierPDF As String
    Dim sNomFichierLOG As String
    Dim PDFDist As PdfDistiller
    Dim PrinterDefault As String
     
        PrinterDefault = Application.ActivePrinter
        Application.ActivePrinter = "Adobe PDF"
     
        sNomFichierPS = "E:\Documents and Settings\Thom@s\Bureau" & "\" & "Essai_Word_AdobePDF.ps"
        sNomFichierPDF = "E:\Documents and Settings\Thom@s\Bureau" & "\" & "Essai_Word_AdobePDF.pdf"
        sNomFichierLOG = "E:\Documents and Settings\Thom@s\Bureau" & "\" & "Essai_Word_AdobePDF.log"
     
        ThisDocument.PrintOut outputFilename:=sNomFichierPS, PrintToFile:=True, Background:=False, Range:=wdPrintAllDocument
     
        Set PDFDist = New PdfDistiller
        PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, ""
        Set PDFDist = Nothing
     
        Kill sNomFichierPS
        Kill sNomFichierLOG
     
        Application.ActivePrinter = PrinterDefault
    End Sub
    Merci

  17. #37
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Re, j'ose espérer que le document concerné à imprimer n'est pas vierge ?
    à voir également le fichier de paramétrage par défaut de Distiller
    Ne pas "killer" le fichier LOG et le lire pour y voir peut-être qqch ?

  18. #38
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut
    Salut et merci de ton aide encore une fois,

    Non quand même , le document n'est pas vierge,

    Si je teste le même fichier :

    - Soit directement en sélectionnant l'imprimante, le nom et le dossier de sortie à la main, le fichier s'imprime correctement.
    Toutes les préférences de distiller sont appliquées (ouverture du fichier pdf généré, demande du nom du fichier....)
    A coté de l'horloge, le logo d'acrobat tourne.

    - Soit avec le code et les polices envoyées.(paramètres de l'impression)
    Au lancement de la macro, il y a une petite fenêtre grise, trop rapide pour que je la vois et immédiatement la création du fichier ps qui se "change" en pdf. Le document ne s'ouvre pas et la page est vierge


    - Soit avec le code et les polices non envoyées.
    J'obtiens les erreurs suivantes.

    Là je ne sais plus par quel bout l'attraper.
    Sans ton aide j'aurais déjà renoncé.

    Pour le fichier .ps, c'était une page avec ecrit "test"

    Merci encore
    Images attachées Images attachées    
    Fichiers attachés Fichiers attachés

  19. #39
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, ou as-tu placé le code ? pas dans Normal.dot mais dans un module car alors remplacer ThisDocument par ActiveDocument ?

    Ton fichier Txt : l'extension changée en PS un double clic lance Distiller et génère un Pdf vide

  20. #40
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 160
    Points : 62
    Points
    62
    Par défaut

    Bravo Kiki !!
    Merci beaucoup, tu es un champion !

    Thomas

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2010] VBA - Impression pdf avec sélection depuis un Slicer
    Par imslux dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2014, 14h39
  2. Impression fichier PDF en VBA
    Par BAYRAL dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/02/2012, 21h54
  3. Réponses: 2
    Dernier message: 01/06/2011, 00h22
  4. Impression PDF en VBA
    Par divayg dans le forum Général VBA
    Réponses: 0
    Dernier message: 27/11/2009, 13h24
  5. Impression PDF a l'aide de VBA
    Par kalu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/01/2009, 10h08

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