Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: automatisch PDF erzeugen

automatisch PDF erzeugen
kikimat
Hallo zusammen,
ich habe ein Problem automatisch pdf Dateien zu erzeugen. Ich habe viele Excel Dateien und möchte, dass per Knopfdruck auf einen Button automatisch eine PDF im gleichen Ordner erzeugt wird. Ich habe nur FreePDF zur Verfügung und habe auch keine Administratorenrechte.
Es klappt soweit, dass ich FreePDF starten kann, aber es funktioniert nicht, dass ich automatisch einen Dateinamen und Speicherort festlege. Gibt es irgendeine Möglichkeit? Ich habe schon versucht in anderen Beiträgen nach Lösungen zu suchen, aber es war nichts für mich dabei.
Mein Code:
Dim sPDFName As String
Dim sPDFPath As String
sPDFName = "Test_V1.ps"
sPDFPath = ThisWorkbook.Path
Application.ActivePrinter = "FreePDF auf Ne00:"
thisworkbook.Worksheets("Muster").PrintOut copies:=1, ActivePrinter:="FreePDF auf Ne00:", printtofile:=True, collate:=True, prtofilename:=spdfpath & spdfname
Shell "V:\Programme\FreePDF_XP\freepdf.exe spdfpath & spdfname /a /d /x"
Viele Grüße,
kikimat
Anzeige

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

Betreff
Benutzer
Anzeige
AW: automatisch PDF erzeugen
03.05.2012 11:56:23
Daniel
Hi kikimat
ich habe mir bislang so beholfen
Speichern der Exceldatei (über Makro) temporär mit dem gewünschten Namen
pdf-Druck dieser Datei anstoßen (Dateiname wird übernommen (ggf. Einstellung freepdf anpassen, das Dokumentname = Dateiname automatisch vergeben wird)
Temporäre - Excel-Datei löschen
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF auf Ne06:", Collate:=True
Viel Erfolg
Daniel Ov
Anzeige
AW: automatisch PDF erzeugen
03.05.2012 12:27:06
kikimat
Hallo Daniel Ov,
vielen Dank für deinen Tip. Allerdings kriege ich es nicht hin, dass dieses Fenster von FreePDF gar nicht erst erscheint, in dem man nach einem Dateinamen gefragt wird. Wie kann ich das denn umgehen?
AW: automatisch PDF erzeugen
03.05.2012 12:38:32
Daniel
bei pdfCreator (Freeware) kann man in den Einstellungen wählen zwischen manueller Vergabe und automatischer Anlage nach vorgegebenen Kriterien.
http://de.wikipedia.org/wiki/PDFCreator
wenn ein Prgm-Wechsel nicht möglich ist, hilft vieleicht das:
http://www.alice-dsl.net/ahmed.martens/index.htm?/ahmed.martens/einrichtung_multidoc.html
bis FreePDF 3.24 sollte es funktionieren
Daniel
Anzeige
AW: automatisch PDF erzeugen
03.05.2012 13:22:42
kikimat
Ein Programmwechsel ist leider nicht möglich und die Alice Seite ist nicht erreichbar.
Hat vielleicht noch jemand eine Idee, wie ich es mit dem bestehenden PDF Programm lösen kann?
AW: automatisch PDF erzeugen
04.05.2012 09:48:46
Jürgen
Hallo kikimat,
Dein Code sieht eigentlich gut aus. Du hättest vielleicht sagen sollen, WAS bei Deiner Lösung nicht funktioniert. Ich vermute, dass Du nicht das gewünschte Ergebnis erhältst, weil Thisworkbook.path den Pfad ohne "\" zurückgibt. Ändere doch mal die Zeile, in der Du den Dateinamen festlegst, in:
sPDFName = "\Test_V1.ps"
Ach ja, da Deine Exel-DAtei in einem Pfad stehen könne, der Leerzeichen enthält, solltest Du auch noch den Shell-Aufruf anpassen (damit der Dateiname in Anführungszeichen steht):
Shell "V:\Programme\FreePDF_XP\freepdf.exe ""spdfpath & spdfname"" /a /d /x"
Und wenn das nicht hilft, schau mal hier: https://www.herber.de/forum/archiv/972to976/t972585.htm#972620
Gruß, Jürgen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

PDF-Dateien automatisch aus Excel erzeugen


Schritt-für-Schritt-Anleitung

Um in Excel automatisch PDF-Dateien zu erzeugen, kannst du folgendes VBA-Makro verwenden. Dieses Beispiel zeigt, wie du das PDF automatisch im gleichen Ordner wie die Excel-Datei speichern kannst:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11.
  2. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  3. Kopiere und füge den folgenden Code ein:

    Sub PDF_Export()
       Dim sPDFName As String
       Dim sPDFPath As String
       sPDFName = "Test_V1.pdf"
       sPDFPath = ThisWorkbook.Path & "\" & sPDFName
       Application.ActivePrinter = "FreePDF auf Ne00:"
       ThisWorkbook.Worksheets("Muster").PrintOut _
           Copies:=1, _
           ActivePrinter:="FreePDF auf Ne00:", _
           PrintToFile:=True, _
           Collate:=True, _
           PrToFilename:=sPDFPath
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 im VBA-Editor oder wechsle zurück zu Excel und führe das Makro aus.

Mit diesem Code wird die Excel-Datei automatisch als PDF gespeichert. Achte darauf, dass der Drucker korrekt eingestellt ist.


Häufige Fehler und Lösungen

  • Fehler: PDF-Druckfenster erscheint
    Lösung: Stelle sicher, dass du in FreePDF die Einstellungen so anpasst, dass der Dateiname automatisch vergeben wird.

  • Fehler: PDF wird nicht gespeichert
    Lösung: Überprüfe, ob der Pfad, den du angegeben hast, korrekt ist. Du kannst den Pfad mit Debug.Print sPDFPath überprüfen, um sicherzustellen, dass der Pfad richtig ist.

  • Fehler: Leerzeichen im Pfad
    Lösung: Wenn der Pfad Leerzeichen enthält, füge Anführungszeichen um den Dateinamen in der Shell-Anweisung hinzu.


Alternative Methoden

Wenn du keine Administratorrechte hast oder FreePDF nicht nutzt, kannst du folgende Alternativen in Betracht ziehen:

  • PDFCreator: Diese Software erlaubt es, PDF-Dateien automatisch zu speichern und bietet die Möglichkeit, ein passwortgeschütztes PDF zu erstellen. Du kannst die Einstellungen anpassen, um den Dateinamen automatisch zu vergeben.

  • Microsoft Print to PDF: Wenn du Windows 10 oder höher verwendest, kannst du den integrierten PDF-Drucker nutzen, um die Datei direkt als PDF zu speichern.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele, wie du das PDF automatisch speichern kannst:

  1. Bericht exportieren: Erstelle einen monatlichen Bericht und speichere ihn als PDF mit dem Datum im Dateinamen:

    sPDFName = "Bericht_" & Format(Date, "YYYYMMDD") & ".pdf"
  2. Passwortgeschütztes PDF erstellen: Nutze PDFCreator, um ein passwortgeschütztes PDF zu erstellen. In den Einstellungen kannst du das Passwort definieren.


Tipps für Profis

  • Fehlerprotokoll: Implementiere ein Fehlerprotokoll in deinem VBA-Code, um Probleme bei der PDF-Erstellung zu identifizieren.

  • Batch-Prozesse: Wenn du mehrere Excel-Dateien hast, kannst du einen Batch-Prozess erstellen, um alle Dateien nacheinander als PDF zu speichern.

  • Automatisierung: Nutze den Windows Task Scheduler, um dein Makro zu einem bestimmten Zeitpunkt automatisch auszuführen.


FAQ: Häufige Fragen

1. Wie kann ich die PDF-Datei automatisch speichern?
Du kannst den PrintOut-Befehl in VBA verwenden, um die Datei automatisch als PDF zu speichern, indem du den gewünschten Pfad angibst.

2. Ist es möglich, ein passwortgeschütztes PDF in Excel zu erstellen?
Ja, wenn du PDFCreator verwendest, kannst du ein passwortgeschütztes PDF erstellen, indem du die entsprechenden Optionen in den Einstellungen von PDFCreator anpasst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige