Beitrag aus SmartTools Access Weekly
Standarddrucker per VBA ändern
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich möchte den Ausdruck von Berichten für die Anwender meiner Datenbank möglichst komfortabel gestalten. Dazu habe ich ein spezielles "Druck"-Formular entworfen. Es enthält verschiedene Schaltflächen, über die per "DoCmd.OpenReport"-Anweisung jeweils der gewünschte Bericht gedruckt werden soll. Ich möchte sicherstellen, dass der Ausdruck immer auf einem bestimmten Drucker erfolgt. Ist es möglich, dazu den in Access eingestellten Standarddrucker per VBA zu ändern?
Diverse Anfragen
ANTWORT Nehmen Sie in die Ereignisprozedur "Beim Laden" (Form_Load) Ihres "Druck"-Formulars folgende Anweisungen auf:
Dim prt As Printer
Set prt = Application.Printers("Druckername")
Set Application.Printer = prt
"Druckername" ersetzen Sie dabei durch den Namen des Druckers, so wie er in der Systemsteuerung oder im Dialog "Drucken" angezeigt wird. Alternativ liefert folgende Schleife in einer kleinen Testprozedur die Namen aller installierten Drucker:
Sub ListPrinterNames()
Dim prt As Printer
For Each prt In Printers
Debug.Print prt.DeviceName
Next
End Sub