Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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 Printer via VBA anwählen

PDF Printer via VBA anwählen
04.09.2008 14:48:00
Henner
Hi,
ich möchte aus einer UserForm heraus eine Tabelle als PDF 'drucken', habe FreePDF installiert. Dafür habe ich einem Button in der UF das folgende Makro zugewiesen:

Sub print_pdf()
Sheets("print").Select
Application.ActivePrinter = "FreePDF XP auf Ne02:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"FreePDF XP auf Ne02:", Collate:=True
Application.ActivePrinter = "Brother DCP-315CN USB Printer auf Ne04:"
End Sub


Das Problem ist nun, dass FreePDF vor dem Erzeugen der PDF den Speicherort und den Dateinamen abfragt. Das möchte ich in das Makro oder via VBA mit einbinden, so dass der Zielpfad zum Speichern der Datei aus der TextBox1 in der UF ausgelesen wird und der Dateiname aus der Zelle A1 in der Tabelle 'Data'.
Im Vorraus vielen Dank für Eure Vorschlage!
Gruß Henner

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Printer via VBA anwählen
04.09.2008 19:45:00
Henner
Hallo Rainer,
da ich versuchen möchte das Erzeugen von PDFs ohne das Installieren zusätzlicher Software zu realisieren, stelle ich die Möglichkeit mit (Free PDF Multidoc) erstmal hinten an. Allerdings habe ich in dem Thread einen anderen Code gefunden:

Sub PDF_drucken
Dim strAktuellerDrucker As String
strAktuellerDrucker = Application.ActivePrinter
Worksheets("Rechnung").PrintOut ActivePrinter:="FreePDF auf Ne06:",_
PrintToFile:=True, PrToFileName:="C:\test.ps"
Shell ("c:\programme\freepdf_xp\freepdf.exe C:\test.ps /a /d /x")_
Application.ActivePrinter = strAktuellerDrucker
End Sub


Das Makro erstellt in C:\ die Datei "test.ps" und ruft dann FreePDF auf.
Die PDF-Datei "test.pdf" wird im Hintergrund erstellt, ebenfalls in c:\.
Die Parameter von FreePDF:
/a erstellt "test.pdf"
/d löscht "test.ps"
/x beendet FreePDF
Habe den Code mal angepasst, sprich 'FreePDF auf Ne06' geändert auf 'FreePDF auf Ne02' (siehe mein erster Beitrag) und einem Button zugewiesen. Bei Klick auf den Button werden die Zeilen 3,4 und 5 rot eingefärbt und ich bekomme die Fehlermeldung Fehler beim Kompilieren; Syntaxfehler.
Hoffe mir ist noch zu helfen, hab die Mappe hier nochmal hochgeladen:
https://www.herber.de/bbs/user/55197.xls

Anzeige
AW: PDF Printer via VBA anwählen
04.09.2008 20:14:00
Ramses
Hallo
Die Zeilenumbruchzeichen "_" waren nicht korrekt gesetzt
So sollte es gehen
Sub PDF_drucken()
    Dim strAktuellerDrucker As String
    strAktuellerDrucker = Application.ActivePrinter
    Worksheets("Rechnung").PrintOut ActivePrinter:="FreePDF auf Ne06:", _
    PrintToFile:=True, PrToFileName:="C:\test.ps"
    Shell ("c:\programme\freepdf_xp\freepdf.exe C:\test.ps /a /d /x")
    Application.ActivePrinter = strAktuellerDrucker
End Sub

Gruss Rainer
Anzeige
AW: PDF Printer via VBA anwählen
04.09.2008 20:52:00
Henner
Sieht soweit schonmal ganz gut aus, jetzt kommt allerdings ne Fehlermeldung von FreePDF:
GhostScript error! As a possible solution, try to reinstall GhostScript.
Error, no PDF file produced!
Gruß Henner
AW: PDF Printer via VBA anwählen
04.09.2008 21:57:01
Ramses
Hallo
Keine Ahnung, da musst du in eiem "FreePdf"-Forum fragen.
Gruss Rainer

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige