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.