PDF speichern unter per VBA in Excel
Schritt-für-Schritt-Anleitung
Um eine PDF-Datei mit VBA in Excel zu speichern, kannst du den folgenden Code verwenden. Dieser Code öffnet eine PDF-Datei, löscht nicht benötigte Seiten und speichert die Datei unter einem neuen Namen ab.
-
Verweis auf Acrobat setzen: Stelle sicher, dass du in Excel den Verweis auf die Acrobat-Bibliothek gesetzt hast. Dies ist notwendig, um mit AcroExch.PDDoc arbeiten zu können.
-
VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".
-
Code einfügen: Kopiere den folgenden Code in das Modul.
Sub zerlegen()
Dim pdDoc As Acrobat.CAcroPDDoc
Set pdDoc = CreateObject("AcroExch.PDDoc")
' Datei öffnen
pdDoc.Open Sheets("Datei").[A1]
' Nicht benötigte Seiten löschen
pdDoc.DeletePages Sheets("Seiten_PersNr").Cells(i, 3) + 1, pdDoc.GetNumPages - 1
If Sheets("Seiten_PersNr").Cells(i, 3) > 0 Then
pdDoc.DeletePages 0, Sheets("Seiten_PersNr").Cells(i, 2) - 1
End If
' Neu abspeichern
pdDoc.Save 1, ablage & "\" & "-000.pdf"
' Schließen
pdDoc.Close
Set pdDoc = Nothing
End Sub
-
Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um das PDF zu speichern.
Häufige Fehler und Lösungen
-
Fehler: "pdf speichern geht nicht"
Überprüfe, ob die Datei, die du öffnen möchtest, tatsächlich existiert und der Pfad korrekt ist.
-
Fehler: "pdf datei speichern unter geht nicht"
Stelle sicher, dass du die richtigen Berechtigungen zum Speichern in dem angegebenen Verzeichnis hast.
-
Fehler: "excel als pdf speichern funktioniert nicht"
Überprüfe, ob die Acrobat-Bibliothek richtig installiert und eingebunden ist.
Alternative Methoden
Eine weitere Möglichkeit, um PDFs in Excel zu speichern, besteht darin, die Funktion "Speichern unter" manuell zu verwenden. Du kannst auch die Adobe Reader-Einstellungen anpassen, um das Speichern ohne Nachfrage zu aktivieren.
- Adobe Reader speichern ohne Nachfrage: Gehe zu den Einstellungen und deaktiviere die Option "Nach dem Speichern fragen".
Praktische Beispiele
Wenn du nur eine bestimmte Seite aus einem PDF speichern möchtest, kannst du den Code wie folgt anpassen:
pdDoc.Save 1, ablage & "\" & "Seite_" & Sheets("Seiten_PersNr").Cells(i, 2) & ".pdf"
Mit dieser Anpassung wird die PDF-Datei nur für die angegebene Seite gespeichert.
Tipps für Profis
-
Tastenkombinationen nutzen: Du kannst die Tastenkombination speichern unter verwenden, um schneller auf die Speichern-Funktion zuzugreifen.
-
PDF Optimierung: Um die Dateigröße zu reduzieren, kannst du beim Speichern die Option wählen, um die Datei neu zu komprimieren.
-
Excel Makro PDF speichern / Pfad auswählen: Du kannst den Benutzer auffordern, den Speicherort für die PDF-Datei auszuwählen, indem du einen Dialog zur Dateiauswahl einfügst.
FAQ: Häufige Fragen
1. Wie kann ich eine einzige Seite aus einer PDF speichern?
Du kannst die Funktion pdDoc.DeletePages verwenden, um alle anderen Seiten zu löschen und anschließend die gewünschte Seite zu speichern.
2. Warum ist die Dateigröße nach dem Speichern so groß?
Die Dateigröße kann durch nicht komprimierte Bilder oder eingebettete Schriftarten verursacht werden. Überprüfe die Einstellungen beim Speichern und wähle die Option zur Komprimierung.
3. Was ist der Unterschied zwischen Save 1 und Save 0?
Save 1 bedeutet, dass die Datei überschrieben wird, während Save 0 die Datei als neue Datei speichert. Achte darauf, die richtige Option je nach Bedarf zu verwenden.