Symbolleisten dauerhaft ausblenden |
|
Es gibt in Word ein paar Symbolleisten, die sich immer wieder einblenden, auch wenn man sie
immer wieder ausblendet. Dazu gehört z.B die Symbolleiste
"Web". In diesen Fällen muss man sich etwas mit den Word-internen Ereignissen auseinandersetzen, die
beim Öffnen von Dokumenten, Wechseln zwischen Dokumenten etc. ablaufen. Dazu muss in der Normal.dot oder einer anderen als AddIn geladenen Dokumentvorlage ein neues Klassenmodul mit dem Namen "cls_App" angelegt werden. Wichtig ist dabei die Zeile: Public WithEvents App As Word.Application da erst dadurch der Objekt-Variablen App die Word-Ereignisse zugänglich gemacht werden. In dem Klassenmodul wird dann auf folgende Word-Ereignisse reagiert: Option Explicit ' Blendet die Symbolleiste "Web" aus ' Public WithEvents App As Word.Application Damit Word überhaupt mitbekommt, dass dieses Klassenmodul existiert und bei den entsprechenden
Ereignissen diese Makros aufruft, wird das AutoExec-Makro verwendet, um
beim Word-Start das Klassenmodul zu initialisieren. Dim c_App As New cls_App Sub AutoExec() Set c_App.App = Word.Application End Sub Mit diesem Gerüst wird beim Erstellen eines neuen Dokuments, beim Wechseln zwischen Dokumenten oder beim Öffnen eines Dokuments geprüft, ob die Symbolleiste angezeigt wird. Wenn ja, dann wird sie ausgeblendet und die ÜÜberprüfung beendet. Mit diesem Satz an Word-Ereignissen wird die Symbolleiste zu 99% der Fälle ausgeblendet, sofern Makros aktiviert und ausgeführt werden. Wird in obigen Beispielen dem Funktionsaufruf der Name der Acrobat-Symbolleiste ("PDFMaker 5.0" bzw. "PDFMaker 6.0") mitgegeben, wird versucht diese Symbolleiste auszublenden. Sofern allerdings bei der Verarbeitung (anderer) Makros ein Fehler auftritt kann es passieren, dass auch das Klassenmodul nicht mehr richtig in Word initialisiert ist und auf die Ereignisse nicht mehr reagiert wird. In diesem Fall muss das AutoExec-Makro noch einmal manuell ausgeführt werden. |
Besucher: 0 online | 0 heute | 0 diesen Monat | 2219148 insgesamt | Seitenaufrufe: 73 | Letzte Änderung: 24.06.2006 | © 2001-18 Christian Freßdorf | ||||
Jeder Satz, den ich äußere, muß als Frage verstanden werden, nicht als Behauptung. Niels Bohr, 1885-1962, dänischer Physiker |
powered by phpCMS and PAX |