Live-Forum - Die aktuellen Beiträge
Datum
Titel
07.05.2024 14:51:38
07.05.2024 13:27:17
Anzeige
Archiv - Navigation
1924to1928
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

VBA - PDF Druck mit (Foxit) Lesezeichen

VBA - PDF Druck mit (Foxit) Lesezeichen
29.03.2023 12:43:56
Tom

Liebe Excel-Gemeinde,

ich möchte einem Makro, welches aus mehreren Excel Tabellenblättern ein PDF erstellt, einen zusätzlichen Code beifügen. Dieser soll die Namen der Tabellenblätter im PDF als Lesezeichen / Bookmark darstellen. Da die MS Office Anwendungen keine Lesezeichen ausgeben können, habe ich ein PDF Programm installiert, dass diesen Vorgang umsetzen kann. Es heißt Foxit Phantom PDF bislang habe ich die PDF Umwandlung immer "manuell" durchgeführt. Nun möchte ich es mittels einem Makro erledigen.

Da ich den untenstehenden Code auch nur aus einem Forum kopiert habe und diesen für meine Zwecke umgeschrieben habe, stoße ich bei der zusätzlichen Ausgabe der Lesezeichen im ausgebenden PDF an meine Grenzen.

Mit der Bitte um Hilfestellung und liebe Grüße
Thomas

Sub Drucken_Umsatz()

    'Einen dynamischen String-Array deklarieren:
    Dim arrBlätter() As String
    
    'Diesen Array zB. auf 4 Elemente festlegen:
    ReDim arrBlätter(1 To 4)
    arrBlätter(1) = "Umsatz_Nord"
    arrBlätter(2) = "Umsatz_West"
    arrBlätter(3) = "Umsatz_Ost"
    arrBlätter(4) = "Umsatz_Sued"

    Sheets(arrBlätter).Select
    Sheets(arrBlätter(1)).Activate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ThisWorkbook.Path & "\Umsatz_Regionen.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=True
        
    
    'Deselektion der Arbeitsblätter:
    Sheets("Umsatz_Gesamt").Select

End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - PDF Druck mit (Foxit) Lesezeichen
29.03.2023 15:40:08
Tom
Liebe Kollegen,

ich habe die A.I. in der Zwischenzeit noch gefragt, und Chat GPT hat mir wie folgt den Code ergänzt:

Das Problem ist, dass der Debugger einen Fehler bei dieser Zeile aufruft:

  Set objPDF = CreateObject("FoxitPhantomPDF.Document")
Unter Umständen findet das Skript das Programm Foxit Phantom PDF nicht. Hat jemand zufälligerweise eine Lösung?
Adobe Acrobat Reader habe ich auch auf dem PC - falls diese Information noch hilfreich ist. Und das Programm PDF Creator, mit diesem lassen sich meines Wissens aber keine Lesezeichen erstellen.

Lg Thomas

Sub Drucken_Umsatz()

'Einen dynamischen String-Array deklarieren:
Dim arrBlätter() As String


'Diesen Array zB. auf 4 Elemente festlegen:
ReDim arrBlätter(1 To 4)
arrBlätter(1) = "Umsatz_Nord"
arrBlätter(2) = "Umsatz_West"
arrBlätter(3) = "Umsatz_Ost"
arrBlätter(4) = "Umsatz_Sued"


Sheets(arrBlätter).Select
Sheets(arrBlätter(1)).Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ThisWorkbook.Path & "\Umsatz_Regionen.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=True

'PDF-Dokument öffnen
Dim objPDF As Object
Set objPDF = CreateObject("FoxitPhantomPDF.Document")
objPDF.Open (ThisWorkbook.Path & "\Umsatz_Regionen.pdf")

'Lesezeichen hinzufügen
Dim i As Integer
For i = 1 To UBound(arrBlätter)
    objPDF.CreateBookmark arrBlätter(i), arrBlätter(i), 1

Next i

'PDF-Dokument speichern und schließen
objPDF.Save
objPDF.Close

'Deselektion der Arbeitsblätter:
Sheets("Umsatz_Gesamt").Select

End Sub


Anzeige
AW: VBA - PDF Druck mit (Foxit) Lesezeichen
31.03.2023 17:54:41
Oberschlumpf
Hi Thomas,

da FoxitPhantomPDF ein excel-fremdes Programm ist, müsste dieses noch über Extras/Verweise hinzugefügt werden.
Wenn auch DAS nicht funktioniert, dann weiß ich auch keine weitere Lösung.

Ciao
Thorsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige