Januar 18, 2022, 11:22:36

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


pdf ausdrucken über Auswahl aus einem Kombinationsfeld

Begonnen von HubertN, Januar 13, 2022, 15:56:19

⏪ vorheriges - nächstes ⏩

HubertN

Hallo zusammen,

Ich habe ein Kombinationsfeld mit Daten aus einer Tabelle.

Mein Ansatz ist (war) folgender:

In einem Module habe ich die
"Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" usw.)"

gehe dann im gleichen Modul über:
"Public Sub ExecuteFile(Frm As Form, sFile As String, cOpen As OpenConst, cWindow As WindowsConst, _
                       Optional sDir As String = vbNullString, _
                       Optional sParameter As String = vbNullString)"

In der Prozedur habe ich folgendes:

Dim sPrjPath as String
    Select Case Me.cpoAuswahlRA 
        Case Is = "Produkt1"
            ExecuteFile Me, sPrjPath & "C:\Produkte\1.pdf", Drucken, SW_SHOWMINIMIZED
                   
     End Select

Frage:
Das Öffnen und Drucken des PDF's funktioniert. Ich komme aber nicht zur Druckerauswahl von Windows.
bzw.: kann man den Befehl "DoCmd.RunCommand acCmdPrint" irgendwie einbauen oder gibt es einen anderen Weg?

Vielleicht hat jemand eine Lösung.
Vielen Dank - Grüße HubertN

markus888

Zitat von: HubertN am Januar 13, 2022, 15:56:19Ich komme aber nicht zur Druckerauswahl von Windows.

Du musst jetzt unterscheiden, ob du den Access Report verwendest oder nicht.
Beim Report hast du alle Möglichkeiten, wenn du aber direkt über ShellExecute druckst, dann hat das ja nichts mehr mit Access zu tun.
Windows übergibt den Druckbefehl an die hiterlegte Standard-Anwendung.
Es gibt die Möglichkeit einen Druckernamen zu übergeben.
Einfach ein eigenes Formular mit einem Listenfeld/Combobox erstellen mit dem der User den Drucker auswählen kann und den Drucker an ShellExecute übergeben. Die Drucker findest du in der Printers Auflistung von Access.

Der folgende Link liefert nähere Infos zur Übergabe des Druckernamens an ShellExecute:
https://www.vba-tutorial.de/apireferenz/dokumente.htm
10 Jahre Access

HubertN

Ok. Danke für die Antwort.
Werde mir das anschauen.
Grüße HubertN