Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1968to1972
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF-Dateien Zusammenfassen

PDF-Dateien Zusammenfassen
01.04.2024 11:39:42
wolgertal
Hallo Zusammen,

ich habe eine Frage.
Ist es möglich mit VBA alle pdf Dateien aus einem Unterordner namens "PDF" zusammen zu fassen?
Die neue Datei sollte "Gesamtübersicht" heißen und im gleichen Verzeichnis der geöffneten Exceldatei abgespeichert werden.
Der Unterordner "PDF" ist ein Unterordner des Ordners, in dem die Exceldatei gespeichert ist.

Ich habe einiges im Forum gefunden, bekomme es aber leider so nicht umgesetzt.

Vielen Dank für eure Unterstützung

Gruß Ulli

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF-Dateien Zusammenfassen
01.04.2024 11:43:19
RPP63
Moin!
Warum unnötig über VBA gehen?
Ich nehme für so etwas die mächtige Freeware PDF24
https://www.pdf24.org/de/

Gruß Ralf
AW: PDF-Dateien Zusammenfassen
01.04.2024 13:08:52
Zwenn
Hallo ,

ich hatte schon etwas zu Deiner Anfrage geschrieben. Allerdings habe ich dann beim raussuchen von Links gesehen, Du hast exakt die gleiche Frage bereits vor ziemlich genau einem Jahr gestellt. Hast Du das ein Jahr liegen lassen und hoffst jetzt, jemand hatte zufällug das gleiche Problem und hat es in der Zwischenzeit gelöst? Ich nehme an, Du müsstest auch eine solche Lösung an Deine Bedürfnisse anpassen. Mein Wissensstand dazu ist der gleiche wie damals.
https://www.herber.de/forum/archiv/1924to1928/1925626_PDFDateien_Zusammenfassen.html

Viele Grüße,

Zwenn
Anzeige
Folgendes...
01.04.2024 18:03:11
Case
Moin, :-)

... funktioniert bei mir ohne Probleme (getestet): ;-)

Option Explicit

Public Sub Main()
Dim strPath As String
On Error GoTo Fin
strPath = ThisWorkbook.Path & "\PDF\"
ShellAndWait "cmd /c pdftk " & strPath & "*.pdf cat output " & ThisWorkbook.Path & "\" & "Gesamtuebersicht.pdf"
Fin:
If Err.Number > 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description
End Sub
Private Sub ShellAndWait(ByVal strPathName As String)
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run strPathName, 0, True
Set WshShell = Nothing
End Sub


Das klappt nur nicht, wenn du als Pfad "OneDrive" nimmst/hast. Dann muss angepasst werden.

Da "pdftk" bei mir installiert ist, muss ich den Pfad zum Programm nicht schreiben - es ist in den Umgebungsvariablen aufgenommen.

Servus
Case
Anzeige
AW: Folgendes...
01.04.2024 18:34:23
wolgertal
Hallo Case,

vielen Dank für deine Mail.

Was müsste ich denn an dem Code verändern, das er bei mir läuft?

Bei mir macht das Makro nichts, auch keine Fehlermeldung.

Gruß Ulli
Wo ist denn...
01.04.2024 18:51:27
Case
Moin, :-)

... die Exceldatei mit dem Makro gespeichert? Lokal? Oder?

Servus
Case
AW: Wo ist denn...
01.04.2024 18:55:33
wolgertal
Hallo Case,

ja, die Datei ist lokal gespeichert.

Gruß Ulli
Was gibt er denn...
01.04.2024 19:14:01
Case
Moin, :-)

... aus, wenn du in der Exceldatei im VBA Editor im Direktfenster folgendes eingibst (mit Fragezeichen) und Return drückst:

?thisworkbook.path


Wie gesagt - habe es getestet. Ist auf deine Angaben was Pfade angeht angepasst und müsste eigentlich laufen.

Servus
Case

Anzeige
AW: Was gibt er denn...
01.04.2024 19:22:07
wolgertal
Hallo Case,

ich habe es jetzt auf einem anderen Computer ausprobiert, da läuft es einwandfrei.

Irgendetwas schein an meinem Desktop-Rechner zu sein, was das Makro blockiert.

Danke für deine Hilfe.

Gruß Ulli
AW: PDF-Dateien Zusammenfassen
01.04.2024 13:33:03
wolgertal
Hallo Zwenn,

ja ich hatte einen funktionieren Code, die greift auf pdftk.exe zu.

Aber der Code funktioniert von jetzt auf gleich leider nicht mehr; das Makro läuft durch, pdf Dateien werden in einem temporären Ordner erzeugt, die zusammengefügte Datei wird nicht mehr erstellt.
(Das Erstellen der Einzel-pdf-Dateien ist theoretisch nicht nötig, da diese im Unterordner PDF schon existieren)

Folgend der Code:

Option Explicit

Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
ByVal DirPath As String) As Long

Public Sub CreatePDF()

Dim lngRow As Long, lngLastRow As Long
Dim astrFiles() As String, strFolderPath As String, strFilePath As String
Dim objWorkbook As Workbook

strFolderPath = ThisWorkbook.Path & "\Temp\"
If MakeSureDirectoryPathExists(strFolderPath) = 1 Then

With Application
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
End With

If Dir$(PathName:=strFolderPath & "*.*") > vbNullString Then _
Call Kill(PathName:=strFolderPath & "*.*")

lngLastRow = Cells(Rows.Count, 3).End(xlUp).Row

' ReDim astrFiles(7 To lngLastRow)
Dim lngFile As Long
For lngRow = 7 To lngLastRow
If Rows(lngRow).RowHeight > 0 Then
ReDim Preserve astrFiles(0 To lngFile)
Debug.Print Cells(lngRow, 3).Hyperlinks(1).Address
Set objWorkbook = GetObject(PathName:=Cells(lngRow, 3).Hyperlinks(1).Address)

strFilePath = strFolderPath & CStr(lngRow) & ".pdf"

Call objWorkbook.Worksheets("Protokoll").ExportAsFixedFormat(Type:=xlTypePDF, _
Filename:=strFilePath, Quality:=xlQualityStandard, IncludeDocProperties:= _
False, _
IgnorePrintAreas:=False, OpenAfterPublish:=False)

astrFiles(lngFile) = strFilePath
lngFile = lngFile + 1
Call objWorkbook.Close(SaveChanges:=False)

End If
Next


Call Shell(PathName:="C:\Program Files (x86)\PDFtk\bin\pdftk.exe " & Join(astrFiles) _
& " cat output " & ThisWorkbook.Path & "\Gesamtübersicht_" & _
ThisWorkbook.Worksheets("Übersicht").Range("S6").Value & "_" & Format(Date, "dd.mm.yy") & ".pdf", WindowStyle:=vbHide)


With Application
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
End With

Else
Call MsgBox("Fehler beim erstellen des temporären Ordners.", vbCritical, "Dateisystemfehler")

End If
Set objWorkbook = Nothing ' soll Fehler verhindern
End Sub





Viele Grüße Ulli

Anzeige
AW: PDF-Dateien Zusammenfassen
01.04.2024 14:10:23
Zwenn
Hallo Ulli,

mir ist nicht ganz klar, ob Du pdfk oder pdfkServer verwendest, weil ich nicht weiß, ob die EXE vom Server genauso heißt. Letzterer ist eine CLI Anwendung. CLI steht für Command Line Interface, also die Shell. Dort ist das Zusammenfassen alle PDFs genau eine Zeile, soweit ich es sehe. Du musst die entsprechend mit den richtigen Werten für Verzeichnisse und Ausgabenamen über VBA steuern, wenn Du es über VBA lösen willst.
pdftk *.pdf cat output combined.pdf


Quellen:
PDFKServer: https://www.pdflabs.com/tools/pdftk-server/
PDFKServer Examples: https://www.pdflabs.com/docs/pdftk-cli-examples/

Warum Deine aktuelle Version des Makros nicht mehr läuft kann ich nicht sagen. Ich habe pdfk auch nicht installiert. Es kann aber sein, dass es eine neue Version gibt, dass Du eine andere Excel Version einsetzt, dass sich durch einen Patch in Excel oder Windows etwas geändert hat oder sonstwas. Ich würde es mit pdfkServer machen, da es für mich zunächst so aussieht, als sind da keine großen Klimmzüge notwendig.

Viele Grüße,

Zwenn
Anzeige
AW: PDF-Dateien Zusammenfassen
01.04.2024 14:28:34
wolgertal
Hallo Zwenn,

ich verwende die pdftk free, also nicht server.

Neuere Versionen gibt es nicht.

Vielleicht hängt es mit einem update von Windows oder Excel zusammen, ansonsten kann ich es mir nicht erklären.

Gruß Ulli
AW: PDF-Dateien Zusammenfassen
01.04.2024 14:32:21
wolgertal
Vielleicht könnte man auch Adobe Acrobat dazu nutzen, aber da wäre ich überfordert dies über VBA umzusetzen.

Gruß Ulli
AW: PDF-Dateien Zusammenfassen
01.04.2024 14:56:27
Zwenn
Ich hatte Dir die Server Version extra verlinkt. Soweit ich es überblicke, kannst Du die Grundversion einfach runterladen, da sie auch for free ist (erster grüner Download Button). Erst die vierte Möglichkeit ist eine Kaufversion, in der man die komerzielle Nutzung bezahlt. Angegeben sind 79 Dollar. Das ist überschaubar.

Oben im grauen Kasten steht aber auch, es geht um die Nutzung in Komerziellen Anwendungen. Da müsstest Du ggf. noch einmal recherchieren, ob die Nutzung in einem Unternehmen damit frei bleibt. Denn Du hast ja nicht vor Dein Makro zu verkaufen nehme ich an. Vielleicht steht dazu etwas im PDFtk Server Support Agreement (PDF):
https://www.pdflabs.com/docs/pdftk-license/pdf_labs_pdftk_support_agreement_ver_1.0.pdf
Anzeige
AW: PDF-Dateien Zusammenfassen
01.04.2024 15:07:28
wolgertal
Hallo Zwenn,

ich hatte die Datei heruntergeladen.

Dateiname und Größe ist aber exakt das Gleiche wie die Free Version.

Funktioniert damit auch nicht.

Gruß Ulli
AW: PDF-Dateien Zusammenfassen
01.04.2024 15:16:12
Zwenn
Hallo Ulli,

dann habe ich an dieser Stelle leider auch keine weitere Idee mehr.

Viele Grüße,

Zwenn
AW: PDF-Dateien Zusammenfassen
01.04.2024 15:49:06
Eifeljoi 5
Hallo

Warum die PDFs nicht mit PQ zusammenfassen und ins Register laden und dann zum guten Schluss ohne VBA bzw. ohne andere PDF Programme eine PDF direkt aus dem aktivem Register erzeugen.
AW: PDF-Dateien Zusammenfassen
01.04.2024 15:56:54
wolgertal
Hallo, danke für den Hinweis.

Es sollte etwas anwenderfreundlicher sein, da meine Frau, welche damit arbeitet, nicht ganz so EDV affin ist.

Viele Grüße Ulli
Anzeige
AW: PDF-Dateien Zusammenfassen
01.04.2024 16:05:42
Eifeljoi 5
Hallo

Auch eine Frau kann dies, Aktualisieren und als PDF speichern wenn man es ihr einmal richtig zeigt.
Eine PQ- Datei erstellen muss man nicht unbedingt als Frau können, aber manche Frauen sind schlauer als wir Männer.
AW: PDF-Dateien Zusammenfassen
01.04.2024 11:49:47
wolgertal
Hallo Ralf,

danke für deine Nachricht.
Mein Problem ist, dass sie Datei schon mal auf unterschiedlichen Computer zur Anwendung kommt und dort das Programm pdffree nicht unbedingt gespeichert ist.

Viele Grüße Ulli

AW: PDF-Dateien Zusammenfassen
01.04.2024 11:59:40
wolgertal
Ergänzung:

Der pdfCreator ist installiert.

Gruß Ulli
AW: PDF-Dateien Zusammenfassen
01.04.2024 12:49:48
ralf_b
erzeugst du die pdf Dateien aus der Exceldatei heraus oder kommen die von wo anders her?
Anzeige
AW: PDF-Dateien Zusammenfassen
01.04.2024 13:23:31
wolgertal
Hallo Ralf,

die pdf Dateien sind aus der Exceldatei erstellt worden.

Gruß Ulli

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige