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 MENLEIST.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.