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

Forumthread: 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

Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

PDF-Dateien als JPG speichern mit VBA


Schritt-für-Schritt-Anleitung

Um eine PDF-Datei als JPG zu speichern, kannst du den folgenden VBA-Code verwenden. Dieser Code öffnet die PDF-Datei, löscht unerwünschte Seiten und speichert die erste Seite als JPG. Achte darauf, dass du über die notwendige Adobe Acrobat-Library verfügst, um die Funktionen nutzen zu können.

Sub DeletePDFPagesAsJPG(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
    If PDDocSource.Open(strSourceFullPath) 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) Then
            i = True
        End If
    Loop

    ' Export the first page as JPG
    If PDDocSource.Save(&H1, strDestinationFullPath) Then
        MsgBox ("Speichern nicht möglich: " & strDestinationFullPath)
    End If

    ' Close the file
    PDDocSource.Close
End Sub

Achte darauf, dass der strDestinationFullPath den Dateinamen mit der Endung .jpg enthält, um die Datei im JPG-Format zu speichern.


Häufige Fehler und Lösungen

  • Fehler: PDF nicht gefunden.
    Stelle sicher, dass der Pfad zur PDF-Datei korrekt ist und die Datei existiert.

  • Fehler beim Speichern als JPG.
    Überprüfe, ob die Adobe Acrobat-Library die Funktion unterstützt. Manchmal kann es notwendig sein, die Datei zuerst als PDF zu speichern und dann in ein JPG umzuwandeln.

  • Warum funktioniert die .Save-Anweisung ohne IF nicht?
    Die AcroExch-Library erlaubt es nicht, das Ergebnis einer Funktion zu ignorieren. Verwende daher immer eine IF-Anweisung, um Fehler zu vermeiden.


Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, gibt es auch Softwarelösungen, die PDF-Dateien in JPG konvertieren können. Hier sind einige Vorschläge:

  • Online-Converter: Websites wie Smallpdf oder PDF2JPG ermöglichen die Konvertierung ohne Installation.
  • Desktop-Software: Programme wie Adobe Acrobat bieten die Möglichkeit, PDFs direkt als JPEG zu exportieren.
  • Bildbearbeitungssoftware: Mit Grafikprogrammen wie GIMP kannst du PDF-Dateien importieren und als JPG speichern.

Praktische Beispiele

  1. PDF-Datei mit mehreren Seiten: Wenn du eine PDF-Datei mit mehreren Seiten hast und nur die erste Seite als JPG speichern möchtest, nutze den obigen VBA-Code. Stelle sicher, dass du die Seiten vor dem Speichern korrekt löschst.

  2. Excel in JPG umwandeln: Um eine Excel-Datei direkt in eine JPG-Datei zu konvertieren, könntest du einen Screenshot der Excel-Tabelle machen und diesen als JPG speichern. Dies ist eine einfache Methode, aber weniger ideal für große Datenmengen.


Tipps für Profis

  • Batch-Verarbeitung: Wenn du mehrere PDF-Dateien hast, die du als JPG speichern möchtest, erweitere den Code um eine Schleife, die durch alle Dateien in einem Verzeichnis iteriert.

  • Qualität optimieren: Achte darauf, die Exportoptionen für die JPG-Datei entsprechend anzupassen, um die beste Bildqualität zu erhalten.

  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung in deinem VBA-Code, um mögliche Fehler während des Speichervorgangs zu identifizieren und zu beheben.


FAQ: Häufige Fragen

1. Kann ich eine PDF-Datei direkt als JPG speichern?
Ja, mit der richtigen Software oder VBA-Code kannst du eine PDF-Datei in ein JPG umwandeln.

2. Was ist der Unterschied zwischen JPG und PDF?
JPG ist ein Bildformat, während PDF ein Dokumentenformat ist. JPG-Dateien sind ideal für Bilder, während PDFs für Dokumente verwendet werden, die Text und Bilder enthalten.

3. Funktioniert dieser Code in jeder Excel-Version?
Der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, jedoch kann die Adobe Acrobat-Library eine Rolle spielen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige