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

A voir également:

3 réponses

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
heroes1368 Messages postés 3 Statut Membre
 
Oui il est installé
0
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