Hilfe bei Kompilierungsfehler
Bernd
hab mir nachfolgenden VBA-Code zum Erstellen von PDF-Dateien in Modul eingefügt und mit einem Button verknüpft. Leider erhalte ich einen Kompilierungsfehler und kann leider nicht erkennen, woran das liegt.
Folgendes möchte ich erreichen beim Klick auf den Button, der auf dem Tab-Blatt "start" liegt. Erstelle aus Tab-Blatt "total" (eine von 20 Tab-Blättern) eine pdf-Datei mit exakt dem gleichen Dateinamen, wie die Exceldatei, z.B. mache aus "Name_Vorname_08-12-2009.xls" "Name_Vorname_08-12-2009.pdf".
Vielen Dank schon mal im Voraus
Gruß Bernd
Hier der von mir verwendete Code ...
Sub PrintToPDF_Early()
Dim pdfjob As PDFCreator.clsPDFCreator
Dim sPDFName As String
Dim sPDFPath As String
'PDF-Dateinamen festlegen
sPDFName = "Dateiname.pdf"
sPDFPath = ActiveWorkbook.Path & Application.PathSeparator
'Prüfung ob das Arbeitsblatt leer ist; wenn ja dann Programm-Ende
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
Set pdfjob = New PDFCreator.clsPDFCreator
With pdfjob
'Sicherstellen, dass der PDFCreator startet
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
'Standardwerte setzen
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With
'PDF drucken
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
'Warten, bis der Druckjob zum Drucken gekommen ist
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
'Warten, bis PDFCreator gedruckt hat; dann Freigabe des Objekts
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
pdfjob.cClose
Set pdfjob = Nothing
End Sub