VBA-Code in Word einbringen und verwenden
Die Verwendung von Makros in Word ist ausgesprochen komfortabel und vielfältig. Die wichtigsten Grundlagen sind hier zusammengefasst:
- Makro in ein Modul einfügen
- Code einbringen für Einsteiger: Makro mit dem Makrorecorder aufzeichnen
- Tastenkombination (Shortcut) zuweisen
- Makro in die Menüleiste (Ribbon) einfügen (ab Word 2007)
- Makro in eine Symbolleiste einfügen (bis Word 2003)
- Makro mit einem Menüeintrag verfügbar machen (bis Word 2003)
- Makro in einem Kontextmenü unterbringen (bis Word 2003)
Makro in ein Modul einfügen
Wenn Sie ein interessantes Makro gefunden haben, fügen Sie es in ein neues Modul ein:
- Wechseln Sie mit Alt + F11 in den VBA-Editor.
- Wählen Sie im Projektfenster links das gewünschte Modul (im richtigen Projekt) aus.
- Oder Sie fügen dem Projekt ein neues Modul hinzu: Einfügen – Modul.
- Nun kopieren Sie den Code in das neue Codefenster.
Makro mit dem Makrorecorder aufzeichnen
Für Einsteiger ist die einfachste Möglichkeit, ein neues Modul für ein im Internet gefundenes Makro zu erzeugen, die Aufzeichnung mit dem Makrorecorder:
- Den Makrorecorder einschalten: Ab Word 2007: Wählen Sie auf der Menüleiste in der Registerkarte Entwicklertools im Bereich Code die Schaltfläche Makro aufzchn.. Wenn die Registerkarte Entwicklertools bei Ihnen noch nicht vorhanden ist, schalten Sie sie folgendermaßen ein: Klicken Sie in der Menüleiste auf Datei und im unteren Bereich auf Optionen. Im linken Register wählen Sie Menüband anpassen. Im rechten Bereich des Dialogfelds setzen Sie das Häkchen bei Entwicklertools und klicken Sie auf OK.
Bis Word 2003: Menü Extras – Makro – Aufzeichnen. Es erscheint das Dialogfeld Makro aufzeichnen. Hier einen aussagekräftigen Namen eintragen. - Man kann das Makro sogleich einer Tastenkombination oder Symbolleiste zuordnen, das geht später jedoch auch noch.
- Wichtiger ist: Im Dropdownfeld Makro speichern eine Auswahl treffen, wo das Makro gespeichert werden soll. Die Default-Einstellung ist »Alle Dokumente (Normal.dotm)« (bis Word 2003: Normal.dot). Falls das Makro nur im aktuellen Dokument oder in der aktuellen Dokumentvorlage (Template) gespeichert werden soll, ist die Auswahl hier vorzunehmen.
- Auch das Eingeben einer Beschreibung im unteren Textfeld ist empfehlenswert. Viele der schon seit Jahren im Gebrauch befindlichen Word-Dialogfelder sind nämlich recht klein und haben keine horizontalen Scrollbalken, auch das häufig benötigte Dialogfeld Anpassen. In diesen Fällen ist die Beschreibung ausgesprochen hilfreich.
- Der Rekorder ist nun eingeschaltet. Da wir jetzt nur ein neues Modul erzeugen wollen, schreiben wir ein Wort »Test«.
- Nun kann der Makrorecorder auf dem gleichen Weg über die Registerkarte Entwicklertools bzw. über das Menü Extras – Makro – Aufzeichnung beenden wieder ausgeschaltet werden. Damit ist das neue Modul erzeugt.
- Nun über die Registerkarte Entwicklertools mit der Schaltfläche Visual Basic oder gleich mit dem Shortcut Alt + F11 in den VBA-Editor wechseln. Links befindet sich das Projektfenster mit dem neu erstellten Modul »NewMacros«. Auf NewMacros doppelklicken, damit sich das Codefenster öffnet (falls es nicht schon offen war). Dort steht das neue Makro:
- Der linke Pfeil zeigt das Modul NewMacros im Projektfenster. Der rechte Pfeil nach oben zeigt den Prozedurnamen (Namen des Makros), und im geöffneten Fenster ist das Ergebnis der Aufzeichnung zu sehen.
- Die nicht benötigte Code-Zeile jetzt löschen:
Selection.TypeText Text:="Test"
- Hier kann jetzt der neue Code eingefügt werden. In unserem Beispiel:
Dim Frist As Date Select Case Weekday(Now) Case Is = vbFriday Frist = DateAdd("d", 17, Now) Case Is = vbSaturday Frist = DateAdd("d", 16, Now) Case Is = vbSunday Frist = DateAdd("d", 15, Now) Case Else Frist = DateAdd("d", 14, Now) End Select With Selection .InsertAfter Format(Frist, "dd.mm.yyyy") .Collapse wdCollapseEnd End With
- Die ersten 4 Zeilen mit dem Namen der Prozedur (Sub) und der Beschreibung bleiben natürlich stehen. Und das Prozedurende (End Sub) muss auch stehen bleiben. Dazwischen den Text einfügen.
- Nun mit Alt + F4 den Editor wieder schließen, um ins Dokument zurückzukehren.
- Das Makro kann jetzt getestet werden. Im Menüband im Bereich Entwicklertools über die Schaltfläche Makros bzw. im Menü Extras – Makros (oder mit Alt + F8) kann es ausgewählt werden.
Das neue Makro fügt an der Eingabemarke ein Datum + 14 Tage ein. Die Frist wird dabei so gesetzt, dass sie immer an einem Wochentag endet und nicht etwa am Sonntag abläuft. Das Dokument, die Vorlage, die Normal.dotm oder die Normal.dot muss nun natürlich gespeichert werden.
Tastenkombination (Shortcut) zuweisen
Den am häufigsten benötigten Makros kann man eine Tastenkombination zuweisen:
- Klicken Sie im Menüband im Bereich Datei auf Optionen. Im Dialogfeld »Word-Optionen« wählen Sie im linken Bereich Menüband anpassen aus. Im mittleren Bereich verwenden Sie unten die Schaltfläche Tastenkombinationen: Anpassen....
Bis Word 2003 öffnen Sie das Dialogfeld Extras – Anpassen. Mit der Schaltfläche Tastatur gelangen Sie in den Dialog Tastatur anpassen.
Lassen Sie das neu geöffnete Dialogfeld »Tastatur anpassen« offen stehen. - Zuerst wählen Sie unten im Auswahlfeld Speichern in: aus, wo der Shortcut gespeichert werden soll: in der Normal.dotm (bis Word 2003: Normal.dot), im aktuellen Dokument oder in der aktuellen Dokumentvorlage.
- Nun wählen Sie Im linken Auswahlfeld Kategorien die Kategorie Makros.
- Im rechten Auswahlfeld Befehle wählen Sie das Makro aus.
- Wenn das richtige Makro gefunden ist, geben Sie im Feld Neue Tastenkombination bzw. Neuen Shortcut drücken die gewünschte Tastenkombination ein.
- Falls die Tastenkombination bereits belegt ist, wird dies unter dem Feld angezeigt. In dem Fall wählen Sie eine andere Tastenkombination. (Wenn Sie sicher sind, die Wordfunktion oder das Makro, das den Shortcut bisher benutzt, nicht zu brauchen, können Sie natürlich den Shortcut auch überschreiben.)
- Mit Klick auf die Schaltfläche Zuordnen vergeben Sie die Tastenkombination.
- Nun können Sie jeweils mit der Schaltfläche Schließen zuerst den Dialog Tastatur anpassen und dann den Dialog Anpassen verlassen.
Nun lässt sich das Makro bequem mit der Tastenkombination aufrufen. Wenn Sie (wie ich) ein begeisterter Tastaturbenutzer sind, gehen Ihnen die Shortcuts mit der Zeit aus. Ich verwende inzwischen → Autotexte zum Auslösen von Makros in Word, und zwar PhraseExpress Autotexte.
Bis Word 2003 konnte man Makros komfortabel direkt in Word in Kontextmenüs unterbringen, die man auch mit der Tastatur erreichen kann → Makro in einem Kontextmenü unterbringen.
Makro in die Menüleiste (Ribbon) einfügen (Word 2007 und neuer)
Ab Word 2007: Um ein Makro auf eine Schaltfläche in der Menüleiste zu legen, gehen Sie so vor:
- Klicken Sie in der Menüleiste im Bereich »Datei« auf Optionen.
- Wählen Sie im linken Menü den Befehl Menüband anpassen.
- Klappen Sie das Textfeld »Befehle auswählen« auf und scrollen bis zum Eintrag »Makros« herunter.
- Nun können Sie das gewünschte Makro in der linken Liste auswählen und einer Registerkarte auf der rechten Seite hinzufügen.
Makro in eine Symbolleiste einfügen (bis Word 2003)
Bis Word 2003: Um ein Makro auf eine Schaltfläche in einer Symbolleiste zu legen, gehen Sie so vor:
- Öffnen Sie das Dialogfeld Extras – Anpassen. Lassen Sie das Dialogfeld offen stehen.
- Im Register Symbolleisten aktivieren Sie ggf. die gewünschte Symbolleiste.
- Wechseln Sie nun ins Register Befehle.
- Zuerst wählen Sie unten im Auswahlfeld Speichern in:aus, wo die Schaltfläche gespeichert werden soll: in der Normal.dot, im aktuellen Dokument oder in der aktuellen Dokumentvorlage.
- Nun wählen Sie Im linken Auswahlfeld Kategorien die Kategorie Makros.
- Im rechten Auswahlfeld Befehle wählen Sie das Makro aus.
- Wenn das richtige Makro gefunden ist, setzen Sie die Maus auf den Balken. Halten Sie die linke Maustaste gedrückt und ziehen Sie das Makro in die gewünschte Symbolleiste. Dort die linke Maustaste wieder loslassen.
- Klicken Sie mit der rechten Maustaste auf den Eintrag.
- Hier können Sie ein Schaltflächensymbol zuordnen und festlegen, ob nur das Symbol oder Symbol und Text angezeigt werden sollen.
- Möchten Sie den Text mit anzeigen lassen, editieren Sie ihn am besten: → Menüeintrag editieren.
- Mit der Eingabetaste (Enter) verlassen Sie den Editiermodus.
- Mit der Schaltfläche Schließen beenden Sie den Dialog Anpassen.
Das Makro lässt sich nun über den Eintrag in der Menüleiste oder in der Symbolleiste bedienen.
Makro mit einem Menüeintrag verfügbar machen (bis Word 2003)
Ab Word 2007 gibt es nur noch die Menüleiste (siehe oben). Bis Word 2003 ließ sich ein Makro auch in einem Word-Menü unterbringen, wozu Sie so vorgehen können:
- Öffnen Sie das Dialogfeld Extras – Anpassen. Lassen Sie das Dialogfeld offen stehen.
- Wechseln Sie ins Register Befehle.
- Zuerst wählen Sie unten im Auswahlfeld Speichern in: aus, wo der Menüeintrag gespeichert werden soll: in der Normal.dot, im aktuellen Dokument oder in der aktuellen Dokumentvorlage.
- Öffnen Sie mit der Maus das gewünschte Menü in Word.
- Nun wählen Sie Im linken Auswahlfeld Kategorien die Kategorie Makros.
- Im rechten Auswahlfeld Befehle wählen Sie das Makro aus.
- Wenn das richtige Makro gefunden ist, setzen Sie die Maus auf den Balken. Halten Sie die linke Maustaste gedrückt und ziehen Sie das Makro in das gewünschte Menü. Dort die linke Maustaste wieder loslassen.
- Klicken Sie mit der rechten Maustaste auf den neuen Eintrag.
- Im Feld Name steht etwa:
Normal.NewMacros.Frist14Tage
- Möchten Sie einen Buchstaben für die Benutzung im Menü »unterstreichen« (damit er mit der Taste bedient werden kann), setzen Sie vor den betreffenden Buchstaben ein kaufmännisches Und-Zeichen:
&Frist 14 Tage
- Mit der Eingabetaste (Enter) verlassen Sie den Editiermodus.
- Mit der Schaltfläche Schließen beenden Sie den Dialog Anpassen.
Makro in einem Kontextmenü unterbringen (bis Word 2003)
Update ab Word 2007: Ein Makro lässt sich immer noch in einem Kontextmenü unterbringen, wozu das Kontextmenü allerdings mit VBA zu programmieren ist. Die Möglichkeit steht nur noch in den älteren Word-Versionen bis Word 2003 direkt über die Oberfläche erreichbar zur Verfügung.
Bis Word 2003: Beim intensiven Arbeiten mit Word gehen die verfügbaren bequemen Tastenkombinationen schnell zur Neige. Dann ist es hilfreich, wenn man wichtige Makros in Kontextmenüs (die man mit der rechten Maustaste oder mit der Taste Kontextmenü (rechts unten auf der Tastatur neben der Windows-Taste) erreichen kann:
- Öffnen Sie das Dialogfeld Extras – Anpassen. Lassen Sie das Dialogfeld offen stehen.
- Im Register Symbolleisten scrollen Sie nach unten und setzen ein Häkchen beim Eintrag Kontextmenü.
- Die Symbolleiste Kontextmenü wird eingeblendet. Hier wählen Sie eine Kategorie: Text, Tabelle oder Zeichnen.
- Es öffnet sich die Auswahl der Kontextmenüs, in der Sie Ihre gewünschte Kategorie auswählen, z. B. Text.
- Es öffnet sich das ausgewählte Kontextmenü. Lassen Sie das Kontextmenü offen stehen.
- Verschieben Sie bei Bedarf das noch offene Fenster Anpassen etwas nach rechts.
- Nun wechseln Sie im Fenster Anpassen ins Register Befehle.
- Zuerst wählen Sie unten im Auswahlfeld Speichern in: aus, wo der Menüeintrag gespeichert werden soll: in der Normal.dot, im aktuellen Dokument oder in der aktuellen Dokumentvorlage.
- Nun wählen Sie Im linken Auswahlfeld Kategorien die Kategorie Makros.
- Im rechten Auswahlfeld Befehle wählen Sie das Makro aus.
- Wenn das richtige Makro gefunden ist, setzen Sie die Maus auf den Balken. Halten Sie die linke Maustaste gedrückt und ziehen Sie das Makro in das noch offene Kontextmenü. Dort die linke Maustaste wieder loslassen.
- Klicken Sie mit der rechten Maustaste auf den neuen Eintrag.
- Im Feld Name steht etwa:
Normal.NewMacros.Frist14Tage
- Sie können den Namen editieren und beispielsweise schreiben:
Frist 14 Tage
Die Leerzeichen sind erlaubt, denn hier wird nur der Menüeintrag editiert, nicht der Prozedurname. - Möchten Sie einen Buchstaben für die Benutzung im Menü »unterstreichen« (damit er mit der Taste bedient werden kann), setzen Sie vor den betreffenden Buchstaben ein kaufmännisches Und-Zeichen:
&Frist 14 Tage
- Mit der Eingabetaste (Enter) verlassen Sie den Editiermodus.
- Mit der Schaltfläche Schließen beenden Sie den Dialog Anpassen.
Um das Makro in mehreren Kontextmenüs zur Verfügung zu stellen, wiederholen Sie die ganze Prozedur und wählen z. B. im Kontextmenü Tabelle den Eintrag Tabellentext.