Convertir un .doc en .pdf avec macro Word

heroes1368 Messages postés 3 Statut Membre -  
heroes1368 Messages postés 3 Statut Membre -
Bonjour,

J'ai créé sur une page WOrd 2007, un bouton (par l'intermédiaire de la "Boîte à Outils Contrôles" sur lequel j'aimerais que lorsque l'on clique dessus, le fichier .doc se convertisse en fichier .pdf

J'ai cherché sur beaucoup de forums et de sites Internet mais rien ne fonctionne =s J'ai tapé le code suivant sous Microsoft Visual Basic 6.3 :

Private Sub CommandButton1_Click()

Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
NomWord = ThisWorkbook.Name
NomPdf = Left(NomWord, Len(NomWord) - 4) & ".pdf"
With pdfjob
If .cstart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutisaveDirectory") = 1
.cOption("AutosaveDirectory") = ThisWorkbook.Path
.cOption("AutosaveFilename") = NomPdf
.cOption("AutosaveFormat") = 0
.cClearCache
End With
ThisWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
With pdfjob
.cDefaultprinter = DefaultPrinter
.cClearCache
.cClose
End With
Set pdfjob = Nothing
End Sub

End Sub

J'ai vraiment besoin d 'aide. Merci

3 réponses

  1. boly38 Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   80
     
    est-ce que PDFCreator est installé ? => une imprimante doit porter le nom exact "PDFCreator"
    0
  2. heroes1368 Messages postés 3 Statut Membre
     
    Oui il est installé
    0
  3. heroes1368 Messages postés 3 Statut Membre
     
    J'ai réussi à trouver le code mais j'ai un autre petit soucis qui se pose.

    Lorsque je rentre le nom du fichier que je veux convertir en pdf, word n'accepte de le faire seulement si le fichier n'est pas le même que celui sur lequel se trouve le code.

    Par exemple : Ce fichier s'appelle test02.doc
    Private Sub PDFCreator_Click()
    Dim wrd As New Word.Application
    imprimante = wrd.ActivePrinter
    wrd.Visible = False
    wrd.ScreenUpdating = False
    wrd.ActivePrinter = "PDFCreator"
    wrd.Documents.Open ("D:\Travail\test01.doc") => je veux convertir le fichier test01.doc
    wrd.ActiveDocument.PrintOut
    wrd.ActiveDocument.Close (False)
    wrd.ActivePrinter = imprimante
    wrd.Quit (False)
    Set wrd = Nothing
    End Sub

    Ca fonctionne très bien. Par contre ce fichier s'appelle test02.doc
    Private Sub PDFCreator_Click()
    Dim wrd As New Word.Application
    imprimante = wrd.ActivePrinter
    wrd.Visible = False
    wrd.ScreenUpdating = False
    wrd.ActivePrinter = "PDFCreator"
    wrd.Documents.Open ("D:\Travail\test02.doc")=> je veux convertir le fichier test02.doc
    wrd.ActiveDocument.PrintOut
    wrd.ActiveDocument.Close (False)
    wrd.ActivePrinter = imprimante
    wrd.Quit (False)
    Set wrd = Nothing
    End Sub

    Le code ne fonctionne pas et m'affiche que le fichier test02.doc est verrouillé pour modification par ma session et que je peux soit :
    - ouvrir une copie en lecture seule
    - créer une copie locale et fusionner les modifications ultérieurement
    - recevoir une notification quand la copie d'origine est modifiée

    Quelque sait comment faire pour que je puisse convertir le fichier ouvert ?
    0