Eine falsche Einstellung des Standarddruckers von Access hat nicht selten fatale Auswirkungen: Wird ein Bericht ausgedruckt, für den die Option STAN DARD – DRUCKER eingestellt ist, kann es teuer werden, wenn beispielsweise eine einfache Liste nicht wie vorgesehen auf dem Tintenstrahldrucker, sondern auf dem irrtümlich als Standarddrucker eingestellten kostenintensiven Farblaserdrucker ausgegeben wird.
Umgekehrt werden Papier und Zeit verschwendet, wenn die aufwändig gestaltete Auswertung mit farbigen Diagrammen und Grafiken plötzlich im Ausgabeschacht des qualitativ unzureichenden Tintenstrahldruckers liegt.
Solchen Problemen können Sie vorbeugen, indem Sie über ein „AutoExec“- Makro den Standarddrucker beim Öffnen einer Datenbank generell zurücksetzen. Sie finden dazu im Modul „modDruckFunktionen“ in der Beispieldatenbank die folgende Funktion „SetStd – Printer()“:
Function SetStdPrinter(strPrinter As String)
Dim prtNew As Printer
On Error Resume Next
Set prtNew = Printers(strPrinter) ‚Gewünschten Drucker auslesen…
Set Application.Printer = prtNew ‚…und als Standard setzen
End Function
Die Funktion erwartet als Parameter den Namen des zu setzenden Standarddruckers, wie beispielsweise „HP DeskJet 710C“ bzw. wie er sich aus „Printers(x).Device – Name“ auslesen oder im Dialog „Drucken“ ablesen lässt. Sie entspricht der Ereignisprozedur „Beim Klicken“ der Schaltfläche SETZEN, die im vorherigen Beitrag erläutert wurde.
Hier wird gemäß dem als Parameter angegebenem Druckernamen ein „Printer“-Objekt initialisiert, das dann das „Printer“- Objekt des Standarddruckers ersetzt und somit einen anderen Standarddrucker aktiviert.
Makro „AutoExec“ einrichten
Um den Aufruf zu automatisieren, legen Sie ein „AutoExec“-Makro an und fügen dort die Aktion „AusführenCode“ ein oder ergänzen ein vorhandenes „AutoExec“- Makro um diese Aktion.
Als Parameter „Funktionsname“ geben Sie „SetStd Printer(„DruckerName“)“ an, wobei Sie „DruckerName“ durch den Namen des zu setzenden Druckers ersetzen.
Speichern Sie das Modul unter den Namen „modDruckFunktion“ ab.