Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateinamen temporär ändern

Dateinamen temporär ändern
19.07.2008 18:23:00
Detlef
Hallo,
ich möchte meine Exceltabelle gerne mit FreePDF XP in eine PDF Datei umwandeln. Das funktioniert mit:
ActiveWorkbook.PrintOut 1, 1, Copies:=1, ActivePrinter:="FreePDF XP"
auch ganz gut.
Nun gibt FreePDF XP als Dateinamen für das zu erstellende PDF-Dokument den Namen der Excelmappe vor. Ich würde aber gerne den Inhalt der Variablen "xy" als Dateinamen verwenden, ohne jedoch den Namen der Exceldatei dauerhaft zu ändern.
Hat da jemand eine Idee?
Gruß
Detlef

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen temporär ändern
19.07.2008 19:54:19
Heinz
Hi,
weiß nicht, woher das FreePDF den namen bezieht, speicher doch deine datei temporär unter anderem namen.
mfg heinz

AW: Dateinamen temporär ändern
19.07.2008 20:02:00
Detlef
Hallo Heinz,
hab ich auch schon versucht. Allerdings kann ich die dann nicht löschen, weil sie ja noch geöffnet ist.
Gruß
Detlef

AW: Dateinamen temporär ändern
19.07.2008 20:58:00
Heinz
Hi,
kommt darauf an, wie du das machst, z.B. mit SaveCopyAs wird das eigentliche
Workbook gar nicht angetastet. Die Kopie kannst du einfach mittels Kill löschen.
mfg Heinz

AW: Dateinamen temporär ändern
19.07.2008 21:08:00
Detlef
Hallo Heinz,
auch das hab ich schon probiert! Nützt mir aber nichts. Müsste dann ja erst die Originaldatei schließen, anschließend die Copy öffnen, dann die PrintOut-Methode aufrufen, dann die Copy wieder schließen und die Originaldatei aufrufen, um aus dieser die Copy zu löschen.
Erscheint mir etwas zu umständlich :-)
Gruß
Detlef

Anzeige
AW: Dateinamen temporär ändern
19.07.2008 22:01:52
Jürgen
Hallo Detlef,
wenn Du den Dateinamen vorgeben möchtest, dann lenke die Druckausgabe in eine Datei mit dem gewünschten Namen und der Endung ".ps", z.B. mit
ActiveWorkbook.PrintOut 1, 1, Copies:=1, ActivePrinter:="FreePDF XP", PrintToFile:=True, PrToFileName:="MeinOrdner\xy.ps"
Wenn Du den FreePDF-Dialog sehen möchtest, nimmst Du als "MeinOrdner" das von FreePDF überwachte Verzeichnis (Standard: "C:\Dokumente und Einstellungen\All Users\FreePDF"). Falls die PDF-Datei ohne FreePDF-Dialog erstellt werden soll, lege die .ps-Datei irgendwo hin (z.B. das Temp-Verzeichnis) und rufe FreeDPF bzw. direkt GhostScript mit den benötigten Parametern über einen Shell-Befehl auf.
Codebeispiele sollten beim Durchsuchen des Forums zu finden sein.
Gruß, Jürgen

Anzeige
AW: Dateinamen temporär ändern
20.07.2008 09:30:23
Detlef
Hallo Jürgen,
das ist doch schon mal ein guter Ansatz. Allerdings lautet der Dateiname so wie beschrieben "XY". Möchte aber gerne den Inhalt der Variablen XY als Dateinamen. Die ps-Datei wird bei mir unter "C:\Dokumente und Einstellungen\All Users\FreePDF" abgelegt, aber der FreePDF Dialog wird nicht angezeigt.
Gruß
Detlef

PDF mit FreePDF erstellen
20.07.2008 22:07:00
Jürgen
Hallo Detlef,
wenn der Dateiname sich aus der Variablen XY speisen soll, bindest Du Sie natürlich entsprechend ein, z.B. mit
... PrToFileName:="MeinOrdner\" & xy & ".ps"
Dass der FreePDF-Dialog nicht aufgeht, wenn Du die .ps-Datei in das angegebene FreePDF-Verzeichnis schreibst, liegt daran, dass sich übersehen hatte, dass die Datei mit dem Benutzernamen beginnen muss. Damit eignet sich dieses Verfahren nicht für Deine Problemstellung.
Ich habe Deine Lösung weiter unten gelesen - das erscheint mir dich noch recht umständlich. Daher noch mein Tipp, von der FreePDF-Homepage das Administratorenhandbuch herunterzuladen. Darin werden u.a. die Kommandozeilenparameter von FreePDF erläutert (Seite 12).
Ein Lösung könnte z.B. so aussehen:

Sub ErzeugePDF()
Dim MappenName As String
MappenName = ThisWorkbook.Path & "\Archiv_" & Format(Date, "yyyymmdd")
ActiveWorkbook.PrintOut 1, 1, Copies:=1, ActivePrinter:="FreePDF XP", PrintToFile:=True,  _
PrToFileName:=MappenName & ".ps"
Shell "C:\Programme\FreePDF_XP\FreePDF /3 delpsend ""High Quality"" """ & MappenName & ".pdf"" " _
"" & MappenName & ".ps"""
End Sub


Gruß, Jürgen

Anzeige
AW: Dateinamen temporär ändern
20.07.2008 16:01:00
Detlef
Hallo,
und danke an alle, die mir Tipps gegeben haben. Habe das Problem folgendermaßen gelöst:
Zunächst habe ich den Namen der geöffneten Mappe in einer Variablen gesichert und die Fehlermeldung ausgeschaltet:
OriginalName = ActiveWorkbook.Name
Application.DisplayAlerts = False
Anschließend die Mappe unter einem neuen Namen im gleichen Verzeichnis gespeichert und FreePDF aufgerufen:
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & MappenName
ActiveWorkbook.PrintOut 1, 1, Copies:=1, ActivePrinter:="FreePDF XP"
Nun die Mappe wieder unter dem Originalnamen gespeichert und anschließend die umbenannte Copy gelöscht.
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & OriginalName
MappenName = MappenName & ".xls"
Kill ThisWorkbook.Path & "\" & MappenName
Application.DisplayAlerts = True
Funktioniert prima!
Gruß
Detlef
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige