Öffnen und Zusammenführen mehrerer PDF-Dateien mit VBA

Ich versuche zu öffnen, drei pdf-Dateien, um diese zusammenzuführen. Wir erstellen eine Reihe von Dateien, die auf einer monatlichen basis, die sind alle gekennzeichnet durch "ticker".

Habe ich drei Quelldateien:

RootDoc = Root-Datei, produziert monatlich variable mit dem Namen: "[variable ticker] + [static RootDoc anfügen].pdf"

DefDoc = Statische Datei, variable filename, "[variable ticker] + [static DefDoc anfügen].pdf"

NotesDoc = Eine Datei, die sich nicht ändern, müssen einbezogen werden in alle docs.

Ich bin stecken, wie merge entsprechend unter den folgenden Bedingungen:

1) Die Anzahl der ticker-markierten Dateien in die Ordner, die jeden Monat variieren.

2) Die RootDoc und DefDoc von den gleichen ticker muss gekoppelt werden, zusammen, als Sie enthalten, ticker-spezifische Informationen. Der Ticker mit den beiden Dateien, aber unterscheiden sich in Zeichen-Länge von einem Satz von Dateien für den nächsten.

3) ich habe ein footer-format gespeichert in von Adobe, der angewendet werden muss, um alle docs. (dies ist nicht notwendig, wäre aber schön zu haben, ich kann das außerhalb von VBA wenn nötig)

Hier ist, was ich habe, so weit, mit Notationen auskommentiert Klarheit:

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

Dim Filename, Pathname, PRODname, Defname As String
Dim RootDoc, NotesDoc, DefDoc As AcroPDDoc
Dim stp1, stp2, stp3, mergefile As Variant

Pathname = "H:\apps\xp\Desktop\PROD CHECK\Expanded LT"
'PRODname = "*[static RootDoc append].pdf"
Filename = Dir(Pathname & "\" & PRODname)
'Defname = "*[static DefDoc append].pdf"

Set RootDoc = CreateObject("AcroExch.PDDoc")
Set NotesDoc = CreateObject("AcroExch.PDDoc")
Set DefDoc = CreateObject("AcroExch.PDDoc")

'stp1 = NotesDoc.Open("[unchanging file name and location]")

Do While Filename <> ""
    'stp2 = RootDoc.Open(Pathname & "\" & Filename)
    'stp3 = DefDoc.Open("[location]" & "\" & Defname)
        'mergefile = RootDoc.InsertPages([I want to insert all of DefDoc into RootDoc after page 0])
        'mergefile = RootDoc.InsertPages([I want to insert all of NotesDoc after the last page of RootDoc])
        DefDoc.Close SaveChanges:=False
    'RootDoc = [Apply Saved Footer]
    RootDoc.Close SaveChanges:=True
    Filename = Dir()
Loop

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

InformationsquelleAutor Corey | 2015-04-08

Schreibe einen Kommentar