Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA PDF Dateien als JPG speichern

VBA PDF Dateien als JPG speichern
22.03.2019 13:23:53
StefanMarkus
Hallo liebe Community,
ich habe einen Sub, der via VBA PDF-Dateien aus Hyperlinks einer Exceltabelle öffnet, alle Seiten außer der ersten löscht und anschließend die erste Seite als neues PDF speichert, zusammengeflickt. Das funktioniert auch soweit.
Ich würde diesen Sub nun gerne dahingehend erweitern, dass die PDF-Seite nicht mehr als *.pdf, sondern als *.jpg gespeichert wird. Kann mir hierbei jemand helfen?
Untenstehend der Code.
Noch eine Interessenfrage zum Code:
Die .Save Anweisung funktioniert nur in einer if-Anweisung (siehe kompletten Code), jedoch nicht so:
PDDocSource.Save(&H1, strDestinationFullPath)

Warum ist das so?
Viele Dank schon mal im Voraus!
Stefan
Sub DeletePDFPages(strDestinationFullPath, strSourceFullPath, Workbook, Blatt, Zeile)
Dim PDDocSource As Object
Dim i As Boolean
Set PDDocSource = CreateObject("AcroExch.PDDoc")
i = False
' Open the PDF source file (the file we are going to take pages from)
If PDDocSource.Open(strSourceFullPath)  True Then
Workbooks(Workbook).Sheets(Blatt).Rows(Zeile).Interior.ThemeColor = xlThemeColorAccent1
i = True
End If
' Delete pages
Do Until i = True
If PDDocSource.DeletePages(1, 1)  True Then
i = True
End If
Loop
' Save the new file
If PDDocSource.Save(&H1, strDestinationFullPath)  True Then
MsgBox ("Speichern nicht möglich: " & strDestinationFullPath)
End If
' Close the file
PDDocSource.Close
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA PDF Dateien als JPG speichern
25.03.2019 16:47:48
mmat
Hallo Markus,
1 ein JPEG ist kein PDF. Hier ist jede Menge zu tun, um das Format zu konvertieren. Falls AcroExch-Library keinen "Export AS" beherrscht, sieht es schlecht aus. Hast du irgendwo schon mal eine Dokumentation der AcroExch-Library gesehen ?
2. Vermutlich erlaubt die Library nicht, dass man eine Funktion aufruft und das Ergebnis ignoriert.
Aus diesem Grund dürfte .Open und .DeletePages auch nicht "ohne IF" funktionieren.
Alternativ könntest du die Funktionen "ohne if" wie folgt aufrufen:
i= PDDocSource.DeletePages(1, 1)
vg, MM
Anzeige

240 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige