Speicherort für PDF-Druck festlegen
Schritt-für-Schritt-Anleitung
Um den Speicherort für den PDF-Druck in Excel festzulegen, kannst du ein VBA-Makro nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
-
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)", wähle "Einfügen" und dann "Modul".
-
Kopiere den folgenden Code in das Modul:
Sub PDF_Drucken()
Dim strPfad As String
Dim strDatei As String
strPfad = "C:\Dein\Pfad\"
strDatei = "DeineDatei.pdf"
Application.ActivePrinter = "FreePDF auf Ne01:"
ActiveSheet.PrintOut ActivePrinter:=Application.ActivePrinter, _
PrintToFile:=True, PrToFileName:=strPfad & strDatei
End Sub
-
Passe den Speicherort an: Ändere strPfad und strDatei nach deinen Bedürfnissen.
-
Führe das Makro aus: Drücke F5 oder gehe zurück zu Excel und führe das Makro über Entwicklertools > Makros aus.
Mit diesem Makro wird die PDF-Datei an dem von dir festgelegten Speicherort gespeichert.
Häufige Fehler und Lösungen
-
Fehlerhafte PDF-Dateien: Wenn die erstellte Datei nicht geöffnet werden kann, überprüfe, ob der PrToFileName korrekt angegeben ist. Achte darauf, dass der Pfad existiert und du die notwendigen Berechtigungen hast.
-
Drucker nicht gefunden: Stelle sicher, dass der FreePDF-Drucker installiert und im System als Standard-Drucker ausgewählt ist. Du kannst den Drucker auch manuell in den Druckeinstellungen auswählen.
-
PDF drucken gesperrt: Wenn der PDF-Druck blockiert ist, kann es an fehlenden Berechtigungen liegen. Überprüfe deine Sicherheitseinstellungen oder versuche, Excel als Administrator auszuführen.
Alternative Methoden
Wenn du den PDF-Druck über VBA nicht umsetzen kannst, gibt es auch andere Möglichkeiten:
-
Excel-Funktion: In Excel 2016 und höher kannst du auch direkt über Datei > Speichern unter die Option „PDF“ auswählen und den Speicherort bestimmen.
-
Drittanbieter-Tools: Es gibt verschiedene Tools, die den PDF-Druck unterstützen, wie z.B. PDFCreator oder Bullzip PDF Printer. Diese bieten oft zusätzliche Funktionen für den PDF-Druck.
Praktische Beispiele
Hier sind einige praktische Beispiele für den PDF-Druck in Excel:
-
Seriendruck für mehrere Dateien: Verwende das folgende VBA-Skript, um mehrere PDF-Dokumente mit unterschiedlichen Namen zu erstellen:
Sub Seriendruck()
Dim rZelle As Range
Dim rListZelle As Range
Set rZelle = Sheets("Tabelle1").Range("C5")
Set rListZelle = Range("A1:A10") 'Passe den Bereich an
For Each rListZelle In rListZelle
rZelle.Value = rListZelle.Value
ActiveSheet.PrintOut ActivePrinter:="FreePDF auf Ne01:", _
PrintToFile:=True, PrToFileName:="C:\Dein\Pfad\" & rZelle.Value & ".pdf"
Next rListZelle
End Sub
-
Speichern unter einem spezifischen Namen: Verwende den folgenden Code, um die PDF-Datei unter einem benutzerdefinierten Namen zu speichern:
Sub SpeichernAlsPDF()
Dim strDatei As String
strDatei = InputBox("Gib den Dateinamen ein:")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Dein\Pfad\" & strDatei & ".pdf"
End Sub
Tipps für Profis
-
Verwende Fehlerbehandlung: Implementiere On Error GoTo-Anweisungen in deinem VBA-Code, um Fehler während des Druckvorgangs zu erfassen und zu behandeln.
-
Automatisiere den Prozess: Kombiniere mehrere Makros, um den PDF-Druck und das Speichern in einem Schritt zu automatisieren.
-
Testen in verschiedenen Excel-Versionen: Achte darauf, dass dein Code in verschiedenen Versionen von Excel getestet wird, um die Kompatibilität sicherzustellen.
FAQ: Häufige Fragen
1. Wie ändere ich den Drucker, den ich für den PDF-Druck verwenden möchte?
Du kannst den Drucker in deinem Makro ändern, indem du die Zeile Application.ActivePrinter = "FreePDF auf Ne01:" anpasst. Ersetze „FreePDF auf Ne01:“ durch den Namen des gewünschten Druckers.
2. Warum kann ich die PDF-Datei nicht öffnen?
Das kann mehrere Gründe haben. Überprüfe, ob der Pfad im PrToFileName korrekt ist und ob der Drucker ordnungsgemäß konfiguriert ist. Stelle sicher, dass der FreePDF-Drucker korrekt installiert ist.
3. Kann ich den Speicherdialog anzeigen, bevor die PDF gespeichert wird?
Ja, das geht, indem du den PrintOut-Befehl anpasst. Du kannst den Befehl SendKeys verwenden, um den Dateinamen während des Druckvorgangs einzugeben, wie Manfred in seinem Beitrag vorgeschlagen hat.