Office-2010-Tipp: Word 2010 automatisieren (Teil 3) – so erweitern Sie ein aufgezeichnetes Makro mit eigenen Funktionen
Ein mit dem Makro-Recorder aufgezeichnetes Word-Makro macht genau das, was Sie ihm beigebracht haben – nicht weniger aber auch nicht mehr. Die Script-Sprache Visual Basic kann ihre tatsƤchlichen FƤhigkeiten aber erst zeigen, wenn Sie ein aufgezeichnetes Makro um zusƤtzliche Funktionen erweitern. Damit lƤsst sich die Arbeitsweise eines Makros deutliche komfortabler gestalten und Sie kƶnnen die Funktionen sogar interaktiv steuern.
Im ersten Teil der Serie Word 2010 automatisieren haben Sie gesehen, wie man ein Makro aufzeichnet und mit einem Mausklick startet. Im zweiten Teil So passen Sie aufgezeichnete Makros individuell an haben wir gezeigt, wie sich ein Makro bearbeiten lƤsst und wie Sie einfache Anpassungen durchfĆ¼hren kƶnnen. Das Beispielmakro zur Druckerumschaltung bedarf jedoch noch einiger Optimierungen. So Ƥndert es Ć¼ber den Befehl āActivePrinterā dauerhaft den Windows-Standarddrucker, was sich auch auf andere Programme auswirkt. AuĆerdem startet die Ausgabe des Dokuments auf den Drucker sofort nach dem Start des Makros. Ein versehentlicher Klick auf die MakroschaltflƤche kann daher leicht zu unerwĆ¼nschten Ausdrucken fĆ¼hren.
So verbessern Sie ein aufgezeichnetes Makro mit neuen Funktionen
- Mit dem Befehl āActivePrinterā lƤsst sich in einen Word-Makro der Windows-Standarddrucker Ƥndern aber auch auslesen. Damit das Makro das Dokument auf den gewĆ¼nschten Drucker ausgibt, danach aber wieder zum Standarddrucker zurĆ¼ckkehrt, muss das Makro den Namen des Standarddruckers zwischenspeichern. Um das Makro entsprechend zu Ƥndern, ƶffnen Sie in Word 2010 den Visual Basic Editor Ć¼ber die Tastenkombination Alt + F11. Gehen Sie im Projekt-Explorer (einblenden mit Strg +R) auf āNormal, Moduleā und ƶffnen Sie das Modul āNewMacrosā per Doppelklick.
- In dem von Ihnen aufgezeichneten Makro zum Wechseln des Druckers fĆ¼gen Sie am Anfang die Zeile
StandardDrucker = ActivePrinter
Damit speichern Sie den Namen des Standarddruckers in der Variablen āStandardDruckerā. An das Ende schreiben Sie die Zeile
ActivePrinter = StandardDrucker
Damit setzt das Word-Makro den Standarddrucker wieder auf den Wert der Variablen, also den ursprĆ¼nglichen Druckernamen.
Das komplette Makro sieht danach so aus:
Sub DruckerWechseln() StandardDrucker = ActivePrinter ActivePrinter = "MeinDrucker" Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _ wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _ PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 ActivePrinter = StandardDrucker End Sub
- Als NƤchstes bauen Sie eine Abfrage ein, die Sie erst mit āJaā bestƤtigen mĆ¼ssen, damit der Ausdruck startet. Dazu dienen die Zeilen
Antwort = MsgBox("Auf Drucker MeinDrucker2 ausgeben?", vbYesNo, "Druckerauswahl") If Antwort = vbYes Then 'Hier steht der Code fĆ¼r den Druckerwechsel und Druck End If
Wenn Word diesen Visual Basic Code ausfĆ¼hrt, erscheint auf dem Bildschirm ein Dialog mit der Frage āAuf Drucker MeinDrucker2 ausgeben?ā. Bei einem Klick auf āJaā, wird der Programmcode unter āIf Antwort = vbYes Thenā ausgefĆ¼hrt. Bei einem Klick auf āNeinā, wird das Makro einfach beendet.
So erstellen Sie einen eigenen Dialog fĆ¼r die Druckerauswahl
Die Word-Entwicklungsumgebung hat noch einiges mehr zu bieten. Mit wenigen Klicks kƶnnen Sie sich eigene Formulare mit Optionsfeldern und SchaltflƤchen erstellen und darĆ¼ber einen Drucker auswƤhlen.
- Klicken Sie mit der rechten Maustaste auf āNormalā und dann im KontextmenĆ¼ auf āEinfĆ¼gen, UserFormā. Sie sehen jetzt ein neues Fenster mit einem leeren Formular und ein kleines Fenster mit dem Namen āWerkzeugsammlungā. Auf der linken Seite des Word-Fensters kƶnnen Sie unter āEigenschaftenā das Aussehen des Formulars bestimmen. Tragen Sie hier hinter ā(Name)ā beispielsweise āDialogDruckerauswahlā und hinter āCaptionā āDrucker-Auswahlā ein.
- Klicken Sie in der āWerkzeugsammlungā auf das SchaltflƤchen-Symbol und ziehen Sie es auf das leere Formular. Im Fenster āEigenschaftenā auf der linken Seite kƶnnen Sie hinter āCaptionā die Beschriftung fĆ¼r die SchaltflƤche festlegen, beispielsweise āDruckenā. Tragen Sie hinter ā(Name)ā ebenfalls āDruckenā ein.
- Ziehen Sie das Optionen-Symbol auf das Formular und geben Sie hinter āCaptionā die Beschriftung ein, beispielsweise āDrucker 1ā.
- Wiederholen Sie die Schritte 2 und 3, und erstellen Sie ein Formular mit zwei SchaltflƤchen (āDruckenā und āAbbrechenā) und so vielen Optionsfeldern, wie Sie fĆ¼r die Druckerauswahl benƶtigen. Beim ersten Optionsfeld stellen Sie in den Eigenschaften hinter āValueā den Wert āTrueā ein. Damit ist dieses Feld standardmƤĆig aktiviert. Ćber die Taste F5 kƶnnen Sie das Formulars testen.
- Bis jetzt hat das Formular noch keine Funktion. Diese fĆ¼gen Sie hinzu, indem Sie den SchaltflƤchen Makro-Code zuweisen. Dazu mĆ¼ssen Sie nur auf die SchaltflƤche āDruckenā doppelklicken. Danach ƶffnet sich ein Fenster mit dem Unterprogramm āPrivate Sub Drucken_Click()ā. Hier geben Sie die Befehle fĆ¼r die Auswahl des Druckers und den Ausdruck Ƥhnlich wie im Beispiel-Makro āDruckerWechselnā ein. Der einzige Unterschied ist die Abfrage der Optionsfelder, die sich Ć¼ber die Konstruktion
If OptionButtonN = True End If
realisieren lƤsst.
Auch der SchaltflƤche āAbbrechenā weisen Sie per Doppelklick ein Unterprogramm zu. Hier genĆ¼gt die Zeile āDialogDruckerauswahl .Hideā. Mit diesem Befehl wird der Dialog āDrucker-Auswahlā geschlossen.
Das fertige Formular und den dazugehƶrigen Makro-Code kƶnnen Sie auch als Datei mit dem Namen Beispieldatei-DruckerWechseln.zip herunterladen. Entpacken Sie die ZIP-Datei in einen beliebigen Ordner. Um das Formular zu verwenden, klicken Sie mit der rechten Maustaste im āProjekt-Explorerā auf āNormalā und dann auf āDatei importierenā. WƤhlen Sie die Datei āDialogDruckerauswahl.frmā aus und klicken Sie auf āĆffnenā. Mit einem Doppelklick auf āNormal, Formulare, DialogDruckerauswahlā ƶffnen Sie das Formular. Im KontextmenĆ¼ der Formulars klicken Sie dann auf āCode anzeigenā. Passen Sie dann den Programmcode und auch die Beschriftung des Formulars entsprechende Ihrer Konfiguration an.
- Infinity 365-Konferenz vom 24. bis 26. Juni in Salzburg ā Anmelden mit Rabattcode - 14. MƤrz 2024
- Microsoft blockiert die Copilot-Suche mit Restricted SharePoint Search - 12. MƤrz 2024
- Teams-Termin frei aussuchen: Automatisieren Sie Ihre Terminplanung mit dem Office-Buchungskalender in Microsoft Bookings - 30. Januar 2024