VBA Beispiel 2 Drucker

Die Aufgabe: Ihr Kunde hat mehrere Drucker. Unter anderem einen Farbdrucker und einen Laserdrucker. Nun möchte er am Bildschirm eine Symbolleiste mit zwei Druckersymbolen. Ein Symbol soll den Farbdrucker, das andere den Laserdrucker darstellen. Beim Anklicken dieser Symbole soll nur die aktuelle Seite des aktuellen Dokumentes auf den entsprechenden Drucker ausgegeben werden. Wenn der Anwender anschliessend den Befehl Datei drucken verwendet, soll jedoch wieder der ursprünglich eingestellte Standarddrucker aktiv sein.

Aufzeichnen des Codes

 

Sub ZweiDrucker()
'
' ZweiDrucker Makro
' Makro aufgezeichnet am 23.05.01 von Markus Winter
'
    ActivePrinter = "HP DeskJet 690C"
    Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        Collate:=True, Background:=True, PrintToFile:=False, PrintZoomColumn:=0, _
        PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
End Sub

Dieser Code löst noch nicht unsere Anforderung, aber er zeigt einige wichtige Befehle welche wir benötigen. Wir erstellen nun folgende Zwei Prozeduren:

Sub PrintColor1Page()
   vAlterDrucker = ActivePrinter
   ActivePrinter = "HP DeskJet 690C"
   Application.PrintOut Range:=wdPrintCurrentPage
   ActivePrinter = vAlterDrucker
End Sub

und

Sub PrintLaser1Page()
   vAlterDrucker = ActivePrinter
   ActivePrinter = "HP LaserJet 5"
   Application.PrintOut Range:=wdPrintCurrentPage
   ActivePrinter = vAlterDrucker
End Sub

Erstellen der Symbolleisten

Die beiden Symbole werden entweder das Bild "Smilie" erhalten oder den Namen des Befehles tragen. Das wollen wir nun anpassen

Nun soll das Druckersymbol in unserer eigenen Leiste angepasst werden.

Bemerkungen zu Word:

Sollten Sie den falschen Befehl auf die Symbolleiste gezogen haben, so müssen Sie das Symbol löschen und den richtigen Befehl neu auf die Symbolleiste ziehen. Damit Ihnen das selbst kreierte Symbol nicht verloren geht, holen Sie zuerst den neuen Befehl, kopieren dann das Symbol bevor Sie das alte Symbol löschen (Aus der Symbolleiste heraus ziehen.

Bemerkungen zu Excel

In Excel existiert im Kontextmenü der Befehl: Makro zuweisen welches die in Word notwendigen Schritte zu korrektur eines zugewiesenen Befehles überflüssig macht.