Bonjour
J'ai trouvé sur le forum des codes pour éditer une feuille excel en format pdf.
Cependant, le programme fonctionne 1 fois puis renvoie l'erreur :
can't initialize PDFcréator
En effet le processus reste ouvert.
J'ai tenté la fonction Taskkill trouvée sur le forum mais sans succès car elle n'est pas présente sur mon PC.
J'ai alors essayé avec TSkill mais le PC ne comprend pas non plus.
J'ai téléchargé le programme TSKILL mais je ne sais pas où l'enregistrer et la méthode de codage.
Pouvez-vous m'éclairer sur la méthodologie à appliquer :
- lieu de stockage de tskill.exe
- type de codification : tskill pdfcreator
- ou bien toute solution qui me permette de flinguer ce porcessus avant de relancer ma macro
Merci de votre contribution
A+
Ci contre la partie de mon programme :
Sheets("BSI").Select
Dim pdfjob As Object
Dim sPDFName As String
Dim sPDFPath As String
'/// Changer le nom du fichier de sortie sur la ligne ci dessous: ///
sPDFName = Range("H2")
sPDFPath = ThisWorkbook.Path & "\Edition\" & Range("I2") & "\" & Range("J2") & "\"
'Check if worksheet is empty and exit if so
'Kill "PDFCreator.exe"
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With
'Imprime le document en PDF
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator sur Ne00:"
'Attend que le document soit entré dans la file d'impression
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
'Attend que l'impression du document soit terminée
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
tsKill PDFCreator
J'ai trouvé sur le forum des codes pour éditer une feuille excel en format pdf.
Cependant, le programme fonctionne 1 fois puis renvoie l'erreur :
can't initialize PDFcréator
En effet le processus reste ouvert.
J'ai tenté la fonction Taskkill trouvée sur le forum mais sans succès car elle n'est pas présente sur mon PC.
J'ai alors essayé avec TSkill mais le PC ne comprend pas non plus.
J'ai téléchargé le programme TSKILL mais je ne sais pas où l'enregistrer et la méthode de codage.
Pouvez-vous m'éclairer sur la méthodologie à appliquer :
- lieu de stockage de tskill.exe
- type de codification : tskill pdfcreator
- ou bien toute solution qui me permette de flinguer ce porcessus avant de relancer ma macro
Merci de votre contribution
A+
Ci contre la partie de mon programme :
Sheets("BSI").Select
Dim pdfjob As Object
Dim sPDFName As String
Dim sPDFPath As String
'/// Changer le nom du fichier de sortie sur la ligne ci dessous: ///
sPDFName = Range("H2")
sPDFPath = ThisWorkbook.Path & "\Edition\" & Range("I2") & "\" & Range("J2") & "\"
'Check if worksheet is empty and exit if so
'Kill "PDFCreator.exe"
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With
'Imprime le document en PDF
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator sur Ne00:"
'Attend que le document soit entré dans la file d'impression
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
'Attend que l'impression du document soit terminée
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
tsKill PDFCreator