Convertir un .doc en .pdf avec macro Word

Fermé
heroes1368 Messages postés 3 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 5 avril 2011 - 4 avril 2011 à 16:20
heroes1368 Messages postés 3 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 5 avril 2011 - 5 avril 2011 à 16:30
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 mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
4 avril 2011 à 16:53
est-ce que PDFCreator est installé ? => une imprimante doit porter le nom exact "PDFCreator"
0
heroes1368 Messages postés 3 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 5 avril 2011
4 avril 2011 à 17:51
Oui il est installé
0
heroes1368 Messages postés 3 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 5 avril 2011
5 avril 2011 à 16:30
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