PDF-Dateien mit VBA in Excel zusammenfügen
Schritt-für-Schritt-Anleitung
Um PDF-Dateien mittels VBA zusammenzufügen, kannst Du die PDFtk-Software nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Installiere PDFtk: Lade PDFtk herunter und installiere es auf Deinem Computer. Du findest es unter PDFtk Download.
-
VBA-Editor öffnen: Öffne Excel, gehe zu „Entwicklertools“ und klicke auf „Visual Basic“.
-
Neues Modul erstellen: Klicke im Projektfenster mit der rechten Maustaste auf „VBAProject (Deine Datei)“ und wähle „Einfügen“ > „Modul“.
-
Code eingeben: Füge den folgenden Code in das Modul ein:
Public Sub PDFZusammenfuegen()
Dim strFolder As String
Dim strFileName As String
Dim strAttachments As String
Dim avntAttachments() As String
Dim ialngIndex As Long
strFolder = "D:\Bestellungen\"
strFileName = Dir(strFolder & "*.pdf")
ialngIndex = 0
Do While strFileName <> ""
ReDim Preserve avntAttachments(ialngIndex)
avntAttachments(ialngIndex) = strFolder & strFileName
ialngIndex = ialngIndex + 1
strFileName = Dir
Loop
If ialngIndex > 0 Then
strAttachments = Join(avntAttachments, " ")
Shell "C:\Program Files (x86)\PDFtk\bin\pdftk.exe " & strAttachments & " cat output " & strFolder & "AllePDFs.pdf"
Else
MsgBox "Keine PDF-Dateien gefunden."
End If
End Sub
-
Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die PDF-Dateien zusammenzufügen.
Häufige Fehler und Lösungen
-
Laufzeitfehler: Überprüfe die Pfade in Deinem Code. Achte darauf, dass der Pfad zur PDFtk-Installation korrekt ist.
-
Keine Dateien gefunden: Stelle sicher, dass sich tatsächlich PDF-Dateien im angegebenen Ordner befinden.
-
Fehler beim Kompilieren: Überprüfe, ob alle Variablen korrekt deklariert sind und ob keine Syntaxfehler vorhanden sind.
Alternative Methoden
Wenn Du keine Software installieren möchtest, kannst Du auch die Funktion „Microsoft Print to PDF“ nutzen. Diese Methode ist jedoch etwas umständlicher, da sie manuelles Eingreifen erfordert. Du kannst die Dateien nacheinander drucken und dann manuell zu einer PDF zusammenfügen.
Praktische Beispiele
Hier ist ein Beispiel, wie Du aus mehreren PDF-Dateien eine einzige PDF erstellen kannst:
Public Sub PDFMergeExample()
Dim pdfFiles As String
pdfFiles = "C:\Documents\file1.pdf C:\Documents\file2.pdf"
Shell "C:\Program Files (x86)\PDFtk\bin\pdftk.exe " & pdfFiles & " cat output C:\Documents\merged.pdf"
End Sub
In diesem Beispiel werden file1.pdf
und file2.pdf
zu merged.pdf
zusammengefügt.
Tipps für Profis
-
Achte darauf, dass die Dateinamen keine Leerzeichen enthalten, da dies zu Problemen führen kann.
-
Du kannst den Code anpassen, um nur bestimmte Dateien basierend auf einem Datum oder anderen Kriterien auszuwählen.
-
Nutze Application.Wait
, um sicherzustellen, dass der Druckprozess abgeschlossen ist, bevor das Makro weiterläuft.
FAQ: Häufige Fragen
1. Kann ich mehrere PDF-Dateien in einer einzigen Datei zusammenfügen?
Ja, das ist mit dem obigen VBA-Code einfach möglich.
2. Funktioniert das auch mit Excel 365?
Ja, die oben genannten Methoden funktionieren auch in Excel 365.
3. Wie füge ich die Dateinamen in die E-Mail ein?
Du kannst die Dateinamen in ein Array speichern und dann in der E-Mail auflisten, wie im Beispiel unter „Praktische Beispiele“ gezeigt.
4. Was ist, wenn ich PDFs aus einem bestimmten Ordner zusammenfügen möchte?
Ändere einfach den strFolder
-Pfad im Code, um den gewünschten Ordner anzugeben.