Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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

Speicherort für PDF-Druck festlegen

Speicherort für PDF-Druck festlegen
Nico
Hallo zusammen!
Ich habe ein Problem mit einem Druck-Makro, bei dem ihr mir bestimmt helfen könnt.
Ich habe ein Seriendruck-Makro gebaut (auch mit eurer Hilfe), mit dem ich nacheinander die Werte in einer Drop-Down-Zelle anwählen kann und dann nach Auswahl eines neuen Wertes das Tabellenblatt mit dem PDF-Drucker als PDF speichern kann.
Soweit so gut, jedoch sind die gespeicherten Dateien fehlerhaft und können nicht geöffnet werden.
Mein Code sieht folgendermaßen aus:
Sub Seriendruck()
Application.ActivePrinter = "FreePDF auf Ne01:"
'Tabellennamen und Zelle anpassen
Set rZelle = Sheets("Tabelle1").Range("c5")
Set rListZelle = Range(Replace(rZelle.Validation.Formula1, "=", ""))
For Each rListZelle In rListZelle
rZelle.Value = rListZelle.Value
' Call Bilder_einfügen
'PrintPreview
'ActiveWindow.SelectedSheets.PrintOut Copies:=1, PrToFileName:="V:\04 Mitarbeiter\02 Nico\" & _
rListZelle & ".pdf"Sheets("Tabelle1").PrintOut
Next rListZelle
End Sub
Ich vermute, dass das Problem in dem PrToFile-Befehl liegt, da ich wohl so eine Datei mit der Endung .pdf erstelle, die aber faktisch kein PDF ist.
Hat jemand einen Vorschlag, wie ich dieses Problem lösen könnte?
Danke schön für eure Hilfe!
Grüße,
Nico

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Speicherort für PDF-Druck festlegen
29.07.2010 10:19:29
Manfred
Hallo Nico,
ich habe vor längerer Zeit mal folgenden Code benutzt.
Sub Drucken()
wnam = ActiveWorkbook.Name
wname = Left(wnam, Len(wnam) - 4)
dname = "d:\PDF-Dokumente\in\" & wname & "_" & ActiveSheet.Name
drunam = dname & "{enter}"
SendKeys drunam
old_drucker = Application.ActivePrinter
Application.ActivePrinter = "PS-Drucker HP auf FILE:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PS-Drucker HP auf FILE:", PrintToFile:=True, Collate:=True
Application.ActivePrinter = old_drucker
End Sub
Wichtig ist dabei, dass im Druckertreiber eingestellt ist, dass er bei jedem Druck nach dem Dateinamen, den die pdf-Datei haben soll, fragt. Dieser Name wird vom Makro vor dem Druckbefehl mit dem Befehl Sendkeys in die Zwischenablage kopiert und dort vom Druckertreiber abgeholt.
Ich hoffe, es funktioniert auch bei dir.
Gruß
Manfred
Anzeige
AW: Speicherort für PDF-Druck festlegen
29.07.2010 11:17:01
JOWE
Hallo Nico,
um ein pdf-File mit dem FreePdfXP-Printer zu erzeugen musst Du zunächst eine Postscript-Datei erzeugen.
Danach startest du eine Shell für den FreePDF-Drucker und läßt damit das PDF-Document ausgeben.
Hier ein Beispiel welches Du leicht in Deine Schleife einbauen kannst:
Sub print_to_named_PDF()
Dim strPfad, strName, strPrinter As String
strPfad = "C:\Daten\PDF\"
With ActiveSheet
strName = "Beispiel"
strPrinter = Application.ActivePrinter
Application.ActivePrinter = "FreePDF XP auf Ne02:"
.PrintOut ActivePrinter:=Application.ActivePrinter, _
PrintToFile:=True, PrToFileName:=strPfad & strName & ".ps"
Shell ("c:\programme\freepdf_xp\freepdf.exe " _
& strPfad & strName & ".ps" & " /a /d /x")
End With
Application.ActivePrinter = strPrinter
End Sub

Gruß
Jochen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige