Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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

PDF Druck mit ShellExecuteA

PDF Druck mit ShellExecuteA
25.02.2024 10:51:28
Torsten
Hallo,

ich benötige Hilfe beim Aufruf von externen PDF Dateien und deren Druck. Aktuell habe ich folgenden Workflow:

Ich muss ein PDF Vordruck mit Formularangaben befüllen und als neues PDF abspeichern. Da ich keinen Acrobat nutze (kann), muss ich das PDF über einen PDF Drucker drucken. Mit diesem will ich das neue PDF an einer bestimmten stelle abspeichern.

Es klappt fast alles nur das neue Abspeichern nicht. Ich kann das PDF aufrufen oder drucken.

- FDF File erstellen und speichern
- FDF File in PDF umbenennen
- PDF aufrufen

Aber nicht PDF drucken mit speichern ohne Anzeige des Speicherdialoges. Als PDf Drucker nutze ich PDFX-Change.

Mit folgendem Code rufe ich die PDF Datei auf zur Anzeige

ShellExecuteA 0&, "Open", "c:\Test\Antrag.pdf", vbNullString, vbNullString, SW_SHOWMINNOACTIVE

oder zum Druck

ShellExecuteA 0&, "Print", "c:\Test\Antrag.pdf", vbNullString, vbNullString, SW_SHOWMINNOACTIVE

Kann mir jemand helfen?


VG & Danke
Torsten

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Druck mit ShellExecuteA
25.02.2024 11:17:00
Oberschlumpf
Hi,

wie genau befüllst du denn den "PDF Vordruck" mit Daten in Excel, bevor es zum noch nicht funktionierenden Ausdruck/Speichern kommt?
Weil...allein das Befüllen einer PDF-Datei mit Formular-Feldern aus VBA ist ja schon eine Leistung.
Wenn man diese Schritte kennt, dann ist Hilfe für dich vllt einfacher möglich.

Ciao
Thorsten
AW: PDF Druck mit ShellExecuteA
25.02.2024 11:40:35
onur
Inwiefern ist das denn jetzt ein Excel-Problem und nicht ein PDF-XChange-Problem?
AW: PDF Druck mit ShellExecuteA
25.02.2024 13:35:13
Alwin Weisangler
Hallo Torsten,

du willst eine API Funktion verwenden ob nun direkt oder über Alias ist erst mal egal.
Damit wird versucht die passende Aplikation zum Dateiobjekt zu starten.
In deinem Befehl werden dann die Werte dieser API Funktion übergeben. Was dann aufgeführt werden kann hängt von der dem Dateiobjekt zugeordneten Applikation ab.
Die zu deinem Befehl passende API Funktion wäre diese:


Private Declare PtrSafe Function ShellExecuteA Lib "shell32.dll" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Also ohne den Alias.

Mit Alias und Aufruf wäre so:


Private Declare PtrSafe Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr

und der Shellbefehl so:


ShellExecute 0&, "Print", "c:\Test\Antrag.pdf", vbNullString, vbNullString,7 ' 7 für SW_SHOWMINNOACTIVE

Ob deine dem Dateiobjekt (PDF Datei) zugeordnete Applikation (PDF Drucker welcher auch immer) mit der Schnittstellenanweisung arbeitet kannst du nur ausprobierten. Der Acrobat Reader hat da kein Problem.
Falls du eine 32 Bit Installation von Office verwendest, entfernst du einfach PtrSafe.
Man kann es auch in einer #If / #Else / #End If Abfrage flexibel halten.

Gruß Uwe
Anzeige
AW: PDF Druck mit ShellExecuteA
25.02.2024 13:37:53
Alwin Weisangler
Sorry habe noch vergessen zu schreiben bei 32 Bit nur Long statt LongPtr.
AW: PDF Druck mit ShellExecuteA
25.02.2024 13:56:53
Torsten
Hallo Uwe,

danke Dir das du die Zeit gefunden hast.

Die Private Declare Declarierung habe ich am Anfang bereits identisch. Ich scheitere tatsächlich bei deinen angesproichenen Schritt des Ausprobierens. Wenn es aber wie du sagst ein Ausprobieren ist, dann komm ich immer mehr zum Schluss, dass das Abspeichernmit Pfadangabe bei Nutzung von PDF-XChange so nicht geht )-:


VG
Torsten

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige