AW: symbolleiste
21.01.2004 09:07:04
Matthias G
Hallo Pia,
genau, 2 Konstanten...
hier nochmal der geänderte Code von Modul1 meiner Beispielmappe:
Const SymbolleistenName1 = "Meine Leiste 1"
Const SymbolleistenName2 = "Meine Leiste 2"
Public
Sub NurMeineLeiste()
Dim cBar As CommandBar
For Each cBar In Application.CommandBars
'"Cell"=Rechtsklick-Kontextmenü für Zellen
If cBar.Name <> SymbolleistenName1 And cBar.Name <> SymbolleistenName2 And cBar.Name <> "Cell" Then
cBar.Enabled = False
Else
cBar.Enabled = True
End If
Next cBar
End Sub
Public
Sub NurSystemLeisten()
Dim cBar As CommandBar
For Each cBar In Application.CommandBars
If cBar.Name <> SymbolleistenName1 And cBar.Name <> SymbolleistenName2 And cBar.Name <> "Cell" Then
cBar.Enabled = True
Else
cBar.Enabled = False
End If
Next cBar
End Sub
Sub LöscheSymbolleiste(n)
On Error Resume Next 'falls nicht vorhanden
Application.CommandBars(n).Delete 'löschen, falls vorhanden
On Error GoTo 0
End Sub
Sub BaueSymbolleiste1()
Dim cB As CommandBar
Dim CBC As CommandBarButton
Dim i%
On Error Resume Next
Application.CommandBars(SymbolleistenName1).Delete 'löschen, falls vorhanden
Set cB = Application.CommandBars.Add(Name:=SymbolleistenName1, _
temporary:=True, Position:=msoBarTop)
On Error GoTo 0
If Application.CommandBars(SymbolleistenName1).Visible = False Then
cB.Visible = True
' den Wert 4 immer mit der Anzahl der zu erstellenden Symbole abgleichen
For i = 1 To 4
Set CBC = cB.Controls.Add(Type:=msoControlButton)
With CBC
.Style = msoButtonIconAndCaption
Select Case i
Case 1
.BeginGroup = True
.Caption = "Speichern"
.OnAction = "PlanSpeichern"
.TooltipText = "Dienstplan speichern"
.FaceId = 3
.Style = msoButtonIconAndCaption
Case 2
.BeginGroup = True
.Caption = "Schließen"
.OnAction = "PlanSchliessen"
.TooltipText = "Dienstplan schließen"
.FaceId = 103
.Style = msoButtonIconAndCaption
Case 3
.BeginGroup = True
.Caption = "Drucken"
.OnAction = "PlanDrucken"
.TooltipText = "Dienstplan drucken"
.FaceId = 4
.Style = msoButtonIconAndCaption
Case 4
.Caption = "Seitenansicht"
.OnAction = "PlanSeitenansicht"
.TooltipText = "Seitenansicht"
.FaceId = 109
.Style = msoButtonIconAndCaption
End Select
End With
Next i
End If
End Sub
Sub BaueSymbolleiste2()
Dim cB As CommandBar
Dim CBC As CommandBarButton
Dim i%
On Error Resume Next
Application.CommandBars(SymbolleistenName2).Delete 'löschen, falls vorhanden
Set cB = Application.CommandBars.Add(Name:=SymbolleistenName2, _
temporary:=True, Position:=msoBarTop)
On Error GoTo 0
If Application.CommandBars(SymbolleistenName2).Visible = False Then
cB.Visible = True
' den Wert 4 immer mit der Anzahl der zu erstellenden Symbole abgleichen
For i = 1 To 4
Set CBC = cB.Controls.Add(Type:=msoControlButton)
With CBC
.Style = msoButtonIconAndCaption
Select Case i
Case 1
.BeginGroup = True
.Caption = "Speichern"
.OnAction = "PlanSpeichern"
.TooltipText = "Dienstplan speichern"
.FaceId = 3
.Style = msoButtonIconAndCaption
Case 2
.BeginGroup = True
.Caption = "Schließen"
.OnAction = "PlanSchliessen"
.TooltipText = "Dienstplan schließen"
.FaceId = 103
.Style = msoButtonIconAndCaption
Case 3
.BeginGroup = True
.Caption = "Drucken"
.OnAction = "PlanDrucken"
.TooltipText = "Dienstplan drucken"
.FaceId = 4
.Style = msoButtonIconAndCaption
Case 4
.Caption = "Seitenansicht"
.OnAction = "PlanSeitenansicht"
.TooltipText = "Seitenansicht"
.FaceId = 109
.Style = msoButtonIconAndCaption
End Select
End With
Next i
End If
End Sub
------------------------------------------
Die
Sub LöscheSymbolleiste habe ich jetzt mit einem Argument versehen, dem Namen der Leiste.
Aufruf also:
LöscheSymbolleiste SymbolleistenName1 'bzw.
LöscheSymbolleiste SymbolleistenName2
Matthias