Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF-Creator vs CutePDF

PDF-Creator vs CutePDF
19.07.2013 11:30:28
Ralf
Hallo Zusammen,
habe das Problem,dass ich einen neuen Rechner bekommen habe und statt PDF-Creator den CutePDF verwenden muss. Wie muss ich den nachfolgenden Code ändern, damit das mit dem CutePDF funktioniert?
Danke für die Hilfe
Gruß Ralf
Sub LMKS_PDF_drucken()
Dim pdfjob As PDFCreator.clsPDFCreator
'Dim pdfjob As Object
Dim sPDFName As String
Dim sPDFPath As String
'PDF-Dateinamen festlegen
sPDFName = "LMKS_" & Worksheets("LMKS").Range("K10").Value & " # " & Worksheets("LMKS").Range( _
_
"R1").Value & ".pdf"
sPDFPath = "Y:\OTM\sped_13\LMKS" & Application.PathSeparator
'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 = CreateObject("PDFCreator.clsPDFCreator")
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Warum nutzt du nicht den Excel-PDF-Export
19.07.2013 11:46:08
Martin
Hallo Ralf,
Excel kann doch inzwischen selbst PDF-Dateien erzeugen (also ohne externe Software wie dem PDF-Creator). Probiere es mal so:
Sub LMKS_PDF_drucken()
Dim sPDFName As String
Dim sPDFPath As String
'PDF-Dateinamen festlegen
sPDFName = "LMKS_" & Worksheets("LMKS").Range("K10").Value & " # " & Worksheets("LMKS"). _
Range("R1").Value & ".pdf"
sPDFPath = "Y:\OTM\sped_13\LMKS" & Application.PathSeparator
'Prüfung ob das Arbeitsblatt leer ist; wenn ja dann Programm-Ende
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
'PDF drucken
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPDFPath & sPDFName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
Viele Grüße
Martin

Anzeige
AW: PDF-Creator vs CutePDF
19.07.2013 11:53:40
Ralf
Hallo Martin,
der Code bleibt bei folgender Stelle hängen
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPDFPath & sPDFName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Gruß Ralf

AW: PDF-Creator vs CutePDF
19.07.2013 12:47:20
Martin
Hallo Ralf,
ich arbeite leider noch mit Excel 2003 und kann den Code daher selbst nicht testen. Jetzt wäre natürlich die Fehlermeldung sehr interessant. Unter Excel 2010 muss der Code eigentlich laufen, sieh mal hier:
https://www.herber.de/forum/archiv/1120to1124/1121651_Tabellenblaetter_via_VBA_als_einzelne_pdfDateien.html
Ich denke fast, dass es am Dateinamen liegt. Eventuell wird die Raute (#) nicht akzeptiert. Teste doch mal folgenden Code:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= "Y:\OTM\sped_13\LMKS\Test.pdf",  _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Bitte beachte, dass die generierte PDF-Datei jetzt "Test.pdf" heißt.
Viele Grüße
Martin

Anzeige
AW: PDF-Creator vs CutePDF
19.07.2013 13:26:54
Ralf
Hallo Martin,
Jetzt funktionierts
Die Raute war es nicht. Der Fehler war, das in der Zelle K10 die ich mit
Worksheets("LMKS").Range("K10").Value
auslese ein Slash (/)war und den mag der Code nicht. Lese den Wert von K10 jetzt mit "Links" und "Rechts" aus, Verkette diese wieder und setze beim Verketten in der Mitte statt einem Slash einen Bindestrich :)
Danke für die Hilfe
Gruß Ralf

AW: PDF-Creator vs CutePDF
19.07.2013 14:23:04
Ralf
Hallo Luschi,
danke für den Tipp.
Gruß Ralf

AW: PDF-Creator vs CutePDF
19.07.2013 16:28:25
mumpel
Hallo!
Nur noch der Form halber. Der Code funktioniert nicht in CutePDF. Ob dieses PDF-Programm überhaupt per VBA gesteuert werden kann ist fraglich.
Gruß, René

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige