Interne Word-Befehle ersetzen und Ereignisse abfangen
Word-Befehle abfangen
Word-Befehle abfangen
Auf dieser Seite
Mit Bild
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.
Mit Bild
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.
Mit Bild
Anzeige aller Word-internen Befehle
Mit Bild
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!
Mit Bild
Wie im folgenden Code ließe sich damit das Ausdrucken eines bestimmten Dokuments unterdrücken:
Mit Bild
Sub DateiDrucken() DruckenDeaktivieren End Sub Sub DateiDruckenStandard() DruckenDeaktivieren End Sub Sub DruckenDeaktivieren() MsgBox "Dieses Dokument darf nicht gedruckt werden!" End Sub
Mit Bild
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.
Mit Bild
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).