Word-Befehle abfangen
Damit sind wir auch schon bei der nächsten Möglichkeit automatischer Makros. Diese werden nicht wie bisher ohne ausdrückliches Zutun des Benutzers aufgerufen, sondern im Gegenteil durch Klick auf Menüs oder Symbolleisten oder durch entsprechende Tastenkürzel.
Alle Word-eigenen Befehle lassen sich durch eine gleichnamige Prozedur abfangen. Deren Namen finden Sie am einfachsten mit Extras/Anpassen auf der Registerkarte Befehle in der Kategorie Alle Befehle, wie im folgenden Bild zu sehen.
Anzeige aller Word-internen Befehle
Ein Makro DateiDrucken wird also dann automatisch aufgerufen, wenn der Benutzer das Menü Datei/Drucken anklickt oder Strg+P drückt. Das Makro wird jedoch nicht (!) ausgelöst durch Klick auf das Drucken-Symbol, denn dafür gilt der interne Name DateiDruckenStandard!
Wie im folgenden Code ließe sich damit das Ausdrucken eines bestimmten Dokuments unterdrücken:
Sub DateiDrucken() DruckenDeaktivieren End Sub Sub DateiDruckenStandard() DruckenDeaktivieren End Sub Sub DruckenDeaktivieren() MsgBox "Dieses Dokument darf nicht gedruckt werden!" End Sub
Das ist allerdings nur ein sehr schwacher Schutz, weil diese Technik bereits mit deaktivierten Makros nicht mehr greift oder der Dokument-Inhalt in ein anderes importiert werden könnte.
Englische Befehle bevorzugen
Die deutschen Befehlsnamen funktionieren auch nur in der deutschen Version. Wenn die Datei mit einem englischen Word geöffnet wird, heißen die Befehle FilePrint und FilePrintDefault. Da die englischen Bezeichnungen international immer zusätzlich zu den jeweils landessprachlichen gelten, ist dringend zu empfehlen, direkt nur die englischen Namen einzusetzen.
Leider sind diese im deutschen Word nicht zu ermitteln. Mit ein wenig Englisch-Kenntnissen, Fantasie und Ausprobieren lassen sich die meisten übersetzen (oder Sie fragen in einer Newsgroup wie microsoft.public.de.word nach, wo häufig jemand mit einer englischen Word-Version aushelfen kann).
Dies ist eine Leseprobe
Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!
Auf Word-VBA: Interne Word-Befehle ersetzen und Ereignisse abfangen erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.
Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.
Ich bin bereits Mitglied