Tipp 0281 Symbolleisten aus-/einblenden
Autor/Einsender:
Datum:
  Angie
26.10.2002
Entwicklungsumgebung:   Excel 97
In diesem Tipp werden verschiedene Möglichkeiten gezeigt, wie man Symbolleisten in Excel aus- und wieder einblenden kann.
1. Vollbildmodus ein/aus
Mit der DisplayFullScreen-Eigenschaft wird das Anwendungsfenster im Vollbildmodus maximiert. Dabei wird der gesamte Bildschirm belegt, die Symbolleisten werden also ausgeblendet, aber auch die Titelleiste der Excel-Anwendung wird verdeckt. Die Symbolleisten, die Statusleiste und die Bearbeitungsleiste behalten ihre unterschiedlichen Einstellungen für den Vollbildmodus und dem Normalmodus bei.
 
Public Sub DisplayFullScreenOn()
  Application.CommandBars("Worksheet Menu Bar").Enabled = False
  Application.DisplayFullScreen = True
  Application.CommandBars("Full Screen").Enabled = False
  ActiveWorkbook.Protect Structure:=True, Windows:=True
End Sub

Public Sub DisplayFullScreenOff()
  ActiveWorkbook.Unprotect
  Application.CommandBars("Worksheet Menu Bar").Enabled = True
  Application.CommandBars("Full Screen").Enabled = True
  Application.DisplayFullScreen = False
End Sub
 
2. Menüleisten, Symbolleisten und Shortcut-Menüs deaktivieren/aktivieren
Mit den folgenden beiden Prozeduren werden alle Menüleisten, Symbolleisten und Shortcut-Menüs (Kontext-Menüs) deaktiviert/aktiviert, es ist also z. B. auch kein "Anpassen" der Symbolleisten mehr möglich.
 
Public Sub DeactivateCommandBars()
  Dim cBar As CommandBar

  For Each cBar In Application.CommandBars
    cBar.Enabled = False
  Next cBar
End Sub

Public Sub ActivateCommandBars()
  Dim cBar As CommandBar

  For Each cBar In Application.CommandBars
    cBar.Enabled = True
  Next cBar
End Sub
 
3. Sichtbare Symbolleisten aus-/einblenden
Mit der Prozedur GetVisibleCommandBars() werden die Namen der in Excel sichtbaren Symbolleisten in einem Datenfeld (Array) gespeichert und dann mit der Eigenschaft .Visible = False unsichtbar gemacht, also ausgeblendet. Mit der Prozedur RestoreCommandBars() können die entsprechenden Symbolleisten wieder eingeblendet werden.
 
Public gstrCBarList() As String

Public Sub GetVisibleCommandBars()
  Dim intCnt As Integer
  Dim cBar As CommandBar

  intCnt = 0

  For Each cBar In Application.CommandBars
    If cBar.Visible And cBar.Type = msoBarTypeNormal Then
      intCnt = intCnt + 1
      ReDim Preserve gstrCBarList(1 To intCnt)
      gstrCBarList(intCnt) = cBar.Name
      cBar.Visible = False
    End If
  Next cBar
End Sub

Public Sub RestoreCommandBars()
  Dim intCnt As Integer

  If GetUBoundValue(gstrCBarList) <> 0 Then
    For intCnt = LBound(gstrCBarList) To UBound(gstrCBarList)
      Application.CommandBars(gstrCBarList(intCnt)).Visible = True
    Next intCnt
  End If

  Erase gstrCBarList
End Sub

Public Function GetUBoundValue(ByVal varArray As Variant) As Long
  Dim lngValue As Long

  On Error Resume Next
  Err.Clear
  lngValue = UBound(varArray)

  If Err.Number Then
    If Err.Number = 9 Then lngValue = 0
  Else
    lngValue = UBound(varArray) + 1
  End If
  On Error GoTo 0

  GetUBoundValue = lngValue
End Function
 
4. Shortcut-Menüs (Kontext-Menüs) deaktivieren/aktivieren
Wenn man in Excel mit der rechten Maustaste auf ein Objekt klickt, so wird in den meisten Fällen ein Kontext-Menü angezeigt. In Excel 97 gibt es zum Beispiel 44 verschiedene Kontext-Menüs, in Excel 2000 sind es 51 an der Zahl. Möchte man alle Kontext-Menüs deaktivieren/aktivieren, so kann man die folgenden beiden Prozeduren einsetzen.
 
Public Sub DeactivateShortcutMenus()
  Dim cBar As CommandBar

  For Each cBar In Application.CommandBars
    If cBar.Type = msoBarTypePopup Then cBar.Enabled = False
  Next cBar
End Sub

Public Sub ActivateShortcutMenus()
  Dim cBar As CommandBar

  For Each cBar In Application.CommandBars
    If cBar.Type = msoBarTypePopup Then cBar.Enabled = True
  Next cBar
End Sub
 
5. Menü Ansicht / Symbolleisten / Anpassen... deaktivieren/aktivieren
Möchte man das Anpassen der Symbolleisten durch den Anwender verhindern, also das Hinzufügen und/oder Entfernen von Buttons, das Ein- und Ausblenden von Symbolleisten usw., dann muss das Kontextmenü für Menü- und Symbolleisten deaktiviert werden.
 
Public Sub DeactivateMenuCustomize()
  Application.CommandBars("Toolbar List").Enabled = False
End Sub

Public Sub ActivateMenuCustomize()
  Application.CommandBars("Toolbar List").Enabled = True
End Sub
 
Hinweis
Die im Download befindlichen *.bas-Dateien können in Excel im VB-Editor importiert werden.

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
Excel-Version
95
97
2000
2002 (XP)
2003
2007
2010


Download  (6,6 kB) Downloads bisher: [ 1641 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 7. August 2011