Eingebettete PDFs in Excel speichern und herunterladen
Schritt-für-Schritt-Anleitung
-
Öffne die Excel-Datei mit den eingebetteten PDFs.
-
Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere die Entwicklertools.
-
Erstelle ein neues Makro:
- Klicke auf
Entwicklertools > Visual Basic.
- Füge ein neues Modul hinzu und kopiere den folgenden VBA-Code hinein:
Sub SaveEmbeddedPDFs()
Dim obj As OLEObject
Dim i As Integer
i = 1
For Each obj In ActiveSheet.OLEObjects
If TypeName(obj.Object) = "AcroExch.PDDoc" Then
obj.SaveAs "C:\Pfad\Zu\Deinem\Ordner\PDF_" & i & ".pdf"
i = i + 1
End If
Next obj
End Sub
-
Führe das Makro aus: Gehe zurück zu Excel, klicke auf Makros, wähle SaveEmbeddedPDFs und klicke auf Ausführen.
-
Überprüfe den Zielordner: Deine PDFs sollten nun im angegebenen Ordner gespeichert sein.
Häufige Fehler und Lösungen
- Fehlermeldung "Methode nicht unterstützt": Stelle sicher, dass du den richtigen Typ der eingebetteten Objekte überprüfst. Der Code sollte ein
AcroExch.PDDoc-Objekt ansprechen.
- PDFs werden nicht gespeichert: Überprüfe den Pfad im Code. Er sollte existieren und du musst Schreibberechtigungen für diesen Ordner haben.
- Makro funktioniert nicht in Office 365: Manchmal gibt es Inkompatibilitäten. Teste den Code in einer älteren Excel-Version.
Alternative Methoden
Wenn das Speichern von eingebetteten PDFs nicht wie gewünscht funktioniert, kannst du auch folgende Methoden ausprobieren:
-
Manuelles Herunterladen:
- Klicke doppelt auf das eingebettete PDF, um es in Acrobat Reader zu öffnen, und speichere es dort.
-
PDFTK verwenden:
- Nutze PDFTK, um mehrere PDF-Dateien zusammenzuführen, wenn du die PDFs manuell gespeichert hast. PDFTK ist ein leistungsstarkes Tool, das dir hilft, PDF-Dateien effizient zu verwalten.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie du den VBA-Code anpassen kannst:
- Bestimmte PDFs speichern: Ändere die Bedingung im Code, um nur PDFs mit bestimmten Namen oder Eigenschaften zu speichern.
-
Ausgabeordner dynamisch festlegen: Ersetze den festen Pfad durch einen Dialog, in dem der Benutzer den Speicherort auswählen kann:
Dim folderPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
folderPath = .SelectedItems(1) & "\"
End With
Tipps für Profis
- Nutze Error Handling: Füge
On Error Resume Next ein, um Fehler zu ignorieren, die beim Speichern auftreten könnten.
- Dokumentation: Kommentiere deinen Code ausführlich, um die Nachvollziehbarkeit zu erhöhen und anderen Benutzern das Verständnis zu erleichtern.
- Automatisierung: Überlege, ob du die PDFs regelmäßig extrahieren musst. In diesem Fall könntest du das Makro automatisiert über einen Zeitplan laufen lassen.
FAQ: Häufige Fragen
1. Wie kann ich eingebettete PDFs in Excel herunterladen?
Du kannst eingebettete PDFs mit einem VBA-Makro speichern, das die PDFs automatisch in einen angegebenen Ordner speichert.
2. Was ist OLE in Bezug auf Excel?
OLE (Object Linking and Embedding) ermöglicht es, Objekte wie PDFs in Excel zu integrieren. Mit OLE kannst du eingebettete Dateien direkt in Excel verwenden.
3. Wo finde ich die VBA-Entwicklertools in Excel?
Die Entwicklertools findest du unter Datei > Optionen > Menüband anpassen. Aktiviere die Entwicklertools, um auf VBA zuzugreifen.
4. Wie kann ich mehrere PDFs als eine Datei speichern?
Verwende PDFTK, um mehrere PDFs zu einer einzigen Datei zusammenzuführen, nachdem du sie aus Excel extrahiert hast.