Neuigkeiten:

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

Mobiles Hauptmenü

Kann man mit VBA auslesen, ob ein Drucker Dublex drucken kann?

Begonnen von trebuh, Heute um 18:53:52

⏪ vorheriges - nächstes ⏩

trebuh

Hallo Access Gemeinde.

Bei einem Projekt kann ich in einem Formular den Drucker (Kombifeld) für den Berichtsdruck auswählen.
Ebenso kann ich mittels Kombifeld einstellen, ob Einseitiger oder beidseitiger Druck erfolgen soll.

In dem Zusammenhang, kam mir jetzt der Gedanke, ob es auch die Möglichkeit gibt, mittels VBA über die "Application.Printer" Eigenschaft feststellen zu können, ob der Drucker überhaupt Duplex fähig ist.

Ich kann kann ja den Wert ".Duplex" auslesen, aber der zeigt mir ja nur den eingestellten Wert an.

Meine beiden Drucker sind ja "Dublex" fähig.

Ich denke mal, wenn ein Drucker nicht "Dublex" fähig ist, bekomme ich eine Fehlermeldung, wenn ich zu drucken des Berichtes "beidseitiger Druck" einstellen würde?

Oder kann man diese Eigenschaft irgendwie über eine Schleife ermittel (also ob acPRDPSimplex, acPRDPVertical, acPRDPHorizontal möglich ist)?

Grüßle

Knobbi38

#1
Hallo,

zumindest mit der PS kannst du das abfragen:
Get-CimInstance -ClassName Win32_Printer | Select-Object -Property Caption, CapabilityDescriptions
Allerdings sind diese Infos stark abhängig von installierten Treiber und müssen nicht immer stimmen.
https://powershell.one/wmi/root/cimv2/win32_printer
Damit sollte es auch in VBA möglich sein.

Alternativ würde es auch per API gehen. Hier ein Beispiel für ein BIN-Abfrage, sollte aber auch für Duplex (DC_DUPLEX) gehen.
https://learn.microsoft.com/en-us/office/vba/access/concepts/printing/programmatically-retrieve-printer-capabilities

Knobbi38

Nachtrag:
Der Indexwert für Duplex:
Const DC_DUPLEX = 7&