Meerdere Excelsheets tot 1 PDF printen

Status
Niet open voor verdere reacties.

gast0654

Nieuwe gebruiker
Lid geworden
27 mrt 2013
Berichten
1
Hallo allemaal,

Ik probeer meerdere excelsheets samen te voegen tot 1 PDF-bestand met Excel VBA. Het PDF-bestand wordt gemaakt door de PDFCreator en dit proces werkt ook goed.
Nu is het probleem dat als ik een tweede PDF-je wil aanmaken, hij de PDFCreator al heeft afgesloten en ook niet meer kan starten. De PDFCreator kan alleen worden gestart als ik de computer opnieuw opstart en dat is niet echt de bedoeling.

De fout zit hem denk ik in de code op het einde (zie het rode gedeelte). Maar zodra ik deze codes weghaal, doet de gehele code het niet meer.

Wie o wie kan mij alsjeblieft helpen???

Zie hieronder de code:



Sub AanmakenPDF()

Dim pdfjob As Object
Dim PDFnaam As String
Dim PDFpad As String
Dim Sheet As Long
Dim TotaalSheets As Long

'#################### Naam PDF-je veranderen!! ####################
PDFnaam = "Test.pdf"
PDFpad = "R:\..."
PDFpad = PDFpad & Application.PathSeparator

Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")

'Hier wordt er gecheckt of de PDFCreator wel kan starten of niet
If pdfjob.cStart("/NoProcessingAtStartup") = False Then
MsgBox "Kan de PDFCreator niet starten.", vbCritical + _
vbOKOnly, "Error!"
Exit Sub
End If

'De standaardinstellingen
With pdfjob
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = PDFpad
.cOption("AutosaveFilename") = PDFnaam
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With

'Print het document naar PDF
TotaalSheets = Application.Sheets.Count
For Sheet = 10 To Application.Sheets.Count
On Error Resume Next 'Om te gaan met grafieken
If Not IsEmpty(Application.Sheets(Sheet).UsedRange) Then
Application.Sheets(Sheet).PrintOut copies:=1, ActivePrinter:="PDFCreator"
Else
TotaalSheets = TotaalSheets - 1
End If
On Error GoTo 0
Next Sheet

'Wacht totdat alle printjes de wachtrij zijn binnengekomen
Do Until pdfjob.cCountOfPrintjobs = TotaalSheets - 9
DoEvents
Loop

'Voegt alle PDF-bestanden tot 1 bestand en start de PDF-printer
With pdfjob
.cCombineAll
.cPrinterStop = False
End With

'Wacht totdat het bestand verschijnt voordat de PDFCreater zich afsluit
Do
DoEvents
Loop Until Dir(PDFpad & PDFnaam) = PDFnaam

pdfjob.cClose
Set pdfjob = Nothing

End Sub



Alvast bedankt.

Groetjes, gast0654

P.S. Ik werk in Excel 2003
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan