2017-07-20 1 views
0

Ich benutze VBA als Plattform für einige PDF-Manipulationen. Das Problem, das ich habe, ist, dass ich das PDF-Objekt scheinbar nicht speichern kann, wenn das PDF-Objekt nicht geöffnet wurde. Im Folgenden finden Sie ein Codefragment, das Seiten in das PDF-Objekt einfügt und anschließend das PDF-Objekt speichert. In Bezug auf den Code habe ich festgestellt, dass es funktioniert, seit ich die Save-Methode mit der gleichen Eingabe mit einem anderen PDF-Objekt getestet habe und es hat gut funktioniert. Kann jemand helfen, indem er erklärt, warum es mir nicht erlaubt, das Objekt zu speichern?VBA + Adobe Acrobat SDK - Speichern einer leeren Seite nicht möglich?

Danke!

Dim NewPDF As New Acrobat.AcroPDDoc 
Set NewPDF = CreateObject("AcroExch.PDDoc") 
If NewPDF.InsertPages(j, OriPDF, j, 1, 0) Then MsgBox "Success" 
If NewPDF.Save(PDSaveLinearized, WritePath & "\" & sh.Cells(StartRow + j - 1, i).Value & ".pdf") Then MsgBox "Success" 
NewPDF.Close 
Set NewPDF = Nothing 

Wenn der obige Code ausgeführt wurde, funktionierte keine der Erfolgszeilen wie erwartet.

Antwort

1

Ändern Sie Zeile 3 dieses ...

If NewPDF.InsertPages(-1, OriPDF, j, 1, 0) Then MsgBox "Success" 

Der erste Parameter ist der Ort, nach dem die neuen Seiten eingefügt, aber Sie haben keine Seiten, weil das Dokument leer ist, so gibt es keine Seite Null.

+0

Ich versuchte Ihren Ansatz, aber es hat nicht funktioniert ... – Isa

+0

Ich muss den Rest des Codes dann sehen. – joelgeraci

+0

Ich versuche einen Weg zu finden, dir Nachrichten zu senden, aber ich kann es nirgends finden. Gibt es einen guten Weg, ich kann es dir schicken? Ich habe im Moment einen Workaround verwendet, indem ich eine leere PDF-Datei an anderer Stelle erstellt habe und diese als Vorlagedatei verwende. Aber es ist gut zu verstehen, warum es nicht so gut funktioniert. Vielen Dank! – Isa

Verwandte Themen