Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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

Anzeige
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

Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige