Makro: Menüleiste aktivieren und deaktivieren

Aus unerklärlichen Gründen hat sich die Menüleiste von Word 97 verabschiedet. Wie kann ich sie zurückholen?

Die Menüleiste von Word 97 ist intern nichts anderes als eine Symbolleiste. Dennoch lässt sie sich nicht über den Befehl »Extras | Anpassen« ausschalten. Das schaffen Sie am besten mit VBA-Befehlen. Auf ähnliche Weise verankern auch Drittanwendungen ihre Befehle in der Menüleiste. Vielleicht hat genau solch eine Anwendung eine fehlerhafte VBA-Prozedur ausgeführt und Ihre Menüleiste dabei deaktiviert. Mit dem Word-97-Dokument MEN-LEIST.DOC von der Heft-CD können Sie Ihre Menüleiste wieder aktivieren. CHIP-Code MENLEIST Öffnen Sie das Dokument und aktivieren Sie die Makros. Dann erscheint der Dialog »Menüleiste aktivieren und deaktivieren«. Mit der Schaltfläche »Menüleiste aktivieren« können Sie die Leiste wieder zurückholen. Das Dokument ruft nämlich beim Öffnen die VBA-Prozedur »AutoOpen()« auf, die dann den Dialog »Menüleiste aktivieren und deaktivieren« lädt. Dahinter verbirgt sich folgende VBA-Prozedur:

Private Sub

LeisteAktivieren_Click ()

Dim cb As Office.CommandBar

foundFlag = False

For Each cb In

Application.CommandBars

If cb.Name = "Menu

Bar" Then

cb.Protection =

msoBarNoChangeDock

cb.Enabled = True

cb.Visible = True

cb.Protection =

msoBarNoChangeVisible

foundFlag = True

MsgBox "Menüleiste " + cb.Name + " aktiviert"

End If

Next cb

If Not foundFlag Then

MsgBox "The collection does not contain a Forms command bar."

End If

Me.Hide

Unload ControlMenueleiste

End Sub
Die Prozedur sucht in der Liste aller Objekte des Typs »CommandBar« die Menüleiste namens »Menu Bar«. Die Eigenschaft »Protection« repräsentiert die Sicherheitsklasse und wird so belegt, dass der Anwender die Leiste ändern darf. Dann setzt die Prozedur die Eigenschaften »Enabled« und »Visible« auf »True«, wodurch die Menüleiste wieder aktiviert und sichtbar wird. Die Eigenschaft »Visible« lässt sich nur anpassen, wenn Sie zuvor »Enabled« auf »True« gesetzt haben. Zum Schluss belegt die Prozedur die Eigenschaft »Protection« mit dem Wert »msoBar NoChangeVisible«. Dabei handelt es sich um eine Sicherheitsklasse, die das Deaktivieren der Menüleiste mit dem Befehl »Extras | Anpassen« sperrt. Die VBA-Prozedur hinter der Schaltfläche »Menüleiste deaktivieren« arbeitet entsprechend umgekehrt.