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 :

conversion .doc en .pdf


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 14
    Points
    14
    Par défaut conversion .doc en .pdf
    Bonjour a tous. Je pense que tout est dit dans le titre.

    Je me trouve au pied d'un mur. J'ai une macro qui marche tres bien sur excel pour imprimer une feuille excel en pdf avec chemin et nom de fichier. Mais lorsque j'utilise la même source sous word je recupere une erreur. Je pense que cela vient du fait que la méthode .PrintOut doit etre différente (au niveau des arguments) selon le programme utilisé.

    Voici mon code sous excel :
    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
    40
     
    Sub PDF()
    Dim jobPDF As Object
    Dim sNomPDF As String
    Dim sCheminPDF As String
     
        sNomPDF = "Rapport.pdf"
        sCheminPDF = "MonChemin"
     
        Set jobPDF = CreateObject("PDFCreator.clsPDFCreator")
     
        With jobPDF
            If .cStart("/NoProcessingAtStartup") = False Then
                MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PDFCreator"
                Exit Sub
            End If
            .cOption("UseAutosave") = 1
            .cOption("UseAutosaveDirectory") = 1
            .cOption("AutosaveDirectory") = sCheminPDF
            .cOption("AutosaveFilename") = sNomPDF
     
            '0=PDF, 1=Png, 2=jpg, 3=bmp, 4=pcx, 5=tif, 6=ps, 7=eps, 8=txt
            .cOption("AutosaveFormat") = 0
            .cClearCache
        End With
     
     
        'Fichier dans la file d'attente
        Do Until jobPDF.cCountOfPrintjobs = 1
            DoEvents
        Loop
        jobPDF.cPrinterStop = False
     
        'Attendre que la file d'attente soit vide
        Do Until jobPDF.cCountOfPrintjobs = 0
            DoEvents
        Loop
        jobPDF.cClose
        Set jobPDF = Nothing
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    C'est peut-être idiot, mais je ne vois pas de PrintOut dans ton code ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Effectivement je l'avais enlever pour des tests elle se trouve la.

    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
    40
    41
     
    Sub PDF()
    Dim jobPDF As Object
    Dim sNomPDF As String
    Dim sCheminPDF As String
     
        sNomPDF = "Rapport.pdf"
        sCheminPDF = "MonChemin"
     
        Set jobPDF = CreateObject("PDFCreator.clsPDFCreator")
     
        With jobPDF
            If .cStart("/NoProcessingAtStartup") = False Then
                MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PDFCreator"
                Exit Sub
            End If
            .cOption("UseAutosave") = 1
            .cOption("UseAutosaveDirectory") = 1
            .cOption("AutosaveDirectory") = sCheminPDF
            .cOption("AutosaveFilename") = sNomPDF
     
            '0=PDF, 1=Png, 2=jpg, 3=bmp, 4=pcx, 5=tif, 6=ps, 7=eps, 8=txt
            .cOption("AutosaveFormat") = 0
            .cClearCache
        End With
     
        ActiveDocument.PrintOut copies:=1, ActivePrinter:="PDFCreator"
     
        'Fichier dans la file d'attente
        Do Until jobPDF.cCountOfPrintjobs = 1
            DoEvents
        Loop
        jobPDF.cPrinterStop = False
     
        'Attendre que la file d'attente soit vide
        Do Until jobPDF.cCountOfPrintjobs = 0
            DoEvents
        Loop
        jobPDF.cClose
        Set jobPDF = Nothing
    End Sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Il semblerait que ce soit ActivePrinter qui pose problème, cet argument n'est pas pris en compte.

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    La méthode ActivePrinter s'applique à l'application et pas au document.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Word.Application.ActivePrinter = "pdfcreator"

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Hehe !! C'est exactement ce que je viens de faire. Et ... ben ca marche tjs pas par contre ca n'engendre plus d'erreur. La macro execute bien PDFCreator mais elle se bloque. Quand j'arrete la macro manuellement il m'ouvre la fenetre me demandant le nom du fichier, repertoire et tout ca. Il semblerait donc que les données ne sont pas prises en compte. Je joints le log de PDFCreator.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    07/08/2007 12:46:56: PDFCreator Program Start
    07/08/2007 12:46:56: Windowsversion: Windows XP 5.1 Build 2600 (Service Pack 2) [TerminalServer WinXP WinXPProEdition WinXPSP2]
    07/08/2007 12:46:56: UseINI: False
    07/08/2007 12:46:56: InstalledAsServer: False
    07/08/2007 12:46:56: MyAppData: C:\Documents and Settings\pnowodzienski\Application Data
    07/08/2007 12:46:58: PDFCreator Program End
    07/08/2007 12:47:00: PDFCreator Program Start
    07/08/2007 12:47:00: Windowsversion: Windows XP 5.1 Build 2600 (Service Pack 2) [TerminalServer WinXP WinXPProEdition WinXPSP2]
    07/08/2007 12:47:00: UseINI: False
    07/08/2007 12:47:00: InstalledAsServer: False
    07/08/2007 12:47:00: MyAppData: C:\Documents and Settings\pnowodzienski\Application Data

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Malheureusement, c'est un problème PDFCreator, déjà que pour word c'est pas facile, alors pour un autre soft

    Sur le site de cafeine, il y a un tuto sur PDFCreator et Access, peut-être y trouveras-tu une solution.

    http://cafeine.developpez.com/

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Je suis un peu perdu. A ton avis quelle genre de paramètres je devrais modifier ?

    Et par simple curiosité, pourquoi la gestion d'impression est différente sur Excel et Word ?

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Juste une question ?

    La référence PDFCreator est-elle bien cochée ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Oui .
    La je suis en train de regarder la discussion http://www.developpez.net/forums/sho...d.php?t=211931
    mais je ne comprends pas trop bien. Comment nomme-t-on une classe ?

Discussions similaires

  1. conversion doc en pdf
    Par sgcb01 dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 17/04/2012, 11h30
  2. Conversion doc en pdf difficile
    Par kashtoi dans le forum Word
    Réponses: 5
    Dernier message: 02/09/2008, 09h41
  3. conversion Doc To PDF
    Par gdnico dans le forum Documents
    Réponses: 3
    Dernier message: 14/12/2007, 10h36
  4. Conversion DOC vers PDF en VB6
    Par aKill dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 14/11/2007, 17h38
  5. Conversion .doc to .pdf
    Par xeon666 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/02/2007, 17h01

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