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 :

Finalisation macro qui génére un PDF


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut Finalisation macro qui génére un PDF
    Bonjour à tous je viens de modifier ma macro qui génère un pdf et l'imprime par pdfcreator.
    Cette macro permet de sauvegarder le fichier dans le répertoire courant sinon dans un répertoire que je le précise moi même.
    Ce que je veux c'est renommer mon fichier .doc par ses propriétés que je récupère par la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    Debug.Print d.CustomDocumentProperties("N°").Value
    Debug.Print d.CustomDocumentProperties("V").Value
    End Sub
    ce code me récupère version et numéro du fichier Exemple : V1.0_N°9999
    Je veux que mon quand je génère le fichier .pdf son nom devient :
    V1.0_N°9999.pdf
    Voila le code de ma macro qui génère le fichier .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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Sub PDF()
    '
    Dim oldPrinter As String
    Dim stChemin As String
    Dim stNom As String
    Dim PDFCreator1 As New clsPDFCreator
     
    ' Affichage de la fenêtre de PDF
    Shell "C:\PDFCreator.exe", vbNormalFocus
    oldPrinter = ActivePrinter
     
    'On va mettre en mémoire dans une
    'variable le nom de l'imprimante par défaut
    ActivePrinter = "PDFCreator"
    'Mettre comme imprimante par défaut PDFCreator
    If Len(ActiveDocument.Path) = 0 Then
        stChemin = "C:\xxxx"
        Else: stChemin = ActiveDocument.Path
    End If
    'Si le document n'a pas été sauvegardé, le PDF sera dans le répertoire 'et un nom par défaut documentPDF
    If Len(ActiveDocument.Name) = 0 Then
        stNom = "DocumentPDF.pdf"
    Else
        stNom = ActiveDocument.Name
    End If
    'les option PDFCreator
    With PDFCreator1
       .cOption("UseAutosave") = 1
       .cOption("UseAutosaveDirectory") = 1
       .cOption("AutosaveDirectory") = stChemin
       .cOption("AutosaveFilename") = stNom
       .cOption("AutosaveFormat") = 0                            ' 0 = PDF
       .cStart
       .cClearCache
    End With
    ActiveDocument.PrintOut Background:=True
    PDFCreator1.cClose
    ActivePrinter = oldPrinter
    End Sub
    Pouvez vous s'il vous plait m'aider à compléter ma macro ?

  2. #2
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut peneve,

    Tu as presque tout résolu, utilise ta variable stNom pour mettre le bon nom avec les infos que tu nous as indiquées

    @+

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Bonjour oui je sais que j'ai presque fini mais le problème c'est que je sais pas comment faire un appel à ma fonction test et la stocker dans stNom .
    Quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stNom = Application.run("test")
    le document s'imprime mais il s'enregistre sans nom : le nom est vide hors moi je veux que son nom = à la valeur que j'ai récupérée depuis les deux valeurs
    sachant que les deux valeurs que je récupère sont des nombres.
    j'ai essayé aussi de déclarer une variable string dans ma fonction test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim a as String 
    a = Debug.Print d.CustomDocumentProperties("V").Value
    pour que je puisse l'affecter à ma variable stNom = a
    mais ca me donne erreur

  4. #4
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut peneve,

    Tes erreurs sont bien des erreurs mais il ne s'agit que d'erreurs de syntaxe ==> essaie simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stNom = d.CustomDocumentProperties("V").Value + "_" + d.CustomDocumentProperties("N°").Value
    PS : A placer avant d'enregistrer

    @+

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoupppppppppppp ça marche à 100%

  6. #6
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut peneve,

    . Mais comme j'ai l'impression que tu as une autre discussion en même temps (celle qui concerne l'impression de tous les documents d'un répertoire), peux-tu nous publier ton code complet, comme ça on ira plus vite.

    Merci d'avance

    @+

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Salut oui bien sur

  8. #8
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut

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

Discussions similaires

  1. Ouverture d'un lien qui génère un PDF
    Par djo007 dans le forum Qt
    Réponses: 1
    Dernier message: 03/03/2013, 10h38
  2. Etat bo qui génére un PDF non lisible
    Par prudy1977 dans le forum Launchpad (ex-Infoview)
    Réponses: 1
    Dernier message: 28/04/2011, 23h25
  3. [XL-2007] macro liée a un bouton qui génère un .txt lors du clic
    Par logan138 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/12/2010, 22h15
  4. Macro qui génère un mail avec un hyperlien
    Par jmh51 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/03/2008, 09h25
  5. [VB6] Problème de textbox multiligne qui génére une erreur
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/02/2006, 16h21

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