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.
|
|
|
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
|
|
|
|
Die im Download befindlichen *.bas-Dateien können in Excel im VB-Editor importiert werden.
|
|