Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
112to116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
112to116
112to116
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

symbolleiste

Re: symbolleiste
16.04.2002 23:58:13
Andreas Gelezun

Ich habe genau das gleiche Problem gehabt, ich bin nach viel (sehr viel) Probiererei aber drauf gekommen. Hier mal meine Prozeduren:

Public Sub LeistenAnAus()
'Funktion: Schaltet die Menü und Symbolleisten aus, checkt vorher,
' welche eingeschaltet sind
' die aktiven Leisten werden im Array leisten(200) gemerkt
'
'Bemerkung(en): -
'© 2002, A.Gelezun

If DieseArbeitsmappe.leistenan = True Then
DieseArbeitsmappe.symanz = 0 ' Anzahl der am Anfang sichtbaren Leisten insgesamt wird hier gemerkt

For i = 1 To Application.CommandBars.Count
Select Case Application.CommandBars(i).Type
Case 0 ' "Symbolleiste"
If Application.CommandBars(i).Visible = True Then
DieseArbeitsmappe.symanz = DieseArbeitsmappe.symanz + 1 ' hochzählen
leisten(DieseArbeitsmappe.symanz) = Application.CommandBars(i).Index
Set cb = Application.CommandBars(i)
cb.Visible = False ' aus
End If
Case 1 ' "Menüleiste"
If Application.CommandBars(i).Visible = True Then
DieseArbeitsmappe.symanz = DieseArbeitsmappe.symanz + 1 ' hochzählen
leisten(DieseArbeitsmappe.symanz) = Application.CommandBars(i).Index
Set cb = Application.CommandBars(i)
cb.Enabled = False ' aus
End If
End Select
Next i
DieseArbeitsmappe.leistenan = True
Else
For i = 1 To DieseArbeitsmappe.symanz ' Anzahl am Anfang aktiver Leisten
Application.CommandBars(leisten(i)).Enabled = True ' an
Application.CommandBars(leisten(i)).Visible = True ' an
Next i
DieseArbeitsmappe.leistenan = True
End If
End Sub


Mit dieser Prozedur werden die Symbolleisten, die gerade vorhanden sind, ausgeblendet. Auch die Menüleiste wird unsichtbar gemacht (wird in der Proc extra behandelt, Case 1...) . In der Variablen DieseArbeitsmappe.Symanz, wird die Anzahl der aktiven Symbolleisten gespeichert, in der lokalen Variablen leisten(200) werden die Symbolleisten-Indizes gesichert. Am Ende setze ich für mein Programm ein Flag (DieseArbeitsmappe.leistenan) ob die Dinger an oder aus sind. Bei einem Aufruf , wo leistenan=True ist, werden die Leisten wieder eingeschaltet, die zuvor ausgeschaltet wurden.

Jetzt wird meine Leiste eingeschaltet:

Public Sub SymLeiste()
'Funktion: Erzeugt und schaltet meine Symbolleiste ein und aus
'
'Bemerkung(en): -
'© 2002, A.Gelezun

Dim sl As CommandBar
Dim sls As CommandBarButton

For Each sl In Application.CommandBars ' Nachsehen, ob die Leiste da ist und auch sichtbar
If sl.Name = "Meine Leiste" Then
If sl.Visible = True Then leistean = True ' ja, dann leistean=true
End If
Next sl

If leistean = False Then ' Leiste nicht sichtbar
Set sl = Application.CommandBars.Add("Meine Leiste")
On Error Resume Next

Set sls = sl.Controls.Add(Type:=msoControlButton, ID:=3)
With sls
.Style = msoButtonIconAndCaption
.Caption = "Speichern"
End With

Set sls = sl.Controls.Add(Type:=msoControlButton, ID:=4)
With sls
.Style = msoButtonIconAndCaption
.Caption = "Drucken"
End With
Else
Set sl = Application.CommandBars("Meine Leiste")
On Error Resume Next
sl.Delete

leistean = False
End If
End Sub

(Der Else-Zweig schaltet die erzeugte Leiste wieder aus).


Falls Du noch Probleme hast, dann melde dich per Mail bei mir...dann kann ich Dir vielleicht eine Beispiel-Tabelle schicken.

Gruß
Andreas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
symbolleiste
16.04.2002 13:39:11
Stefan F.
Salut!

Ja, ja, schon oft gefragt und oft geantwortet, aber ich habe nun versucht einige Beiträge zu "eigene-Symbolleiste" anzuwenden, aber ohne Erfolg. Auch das "Anbinden" funktioniert wohl nicht so wie es soll.

Wer hat mir bitte nochmal den genauen Code bzw. die Vorgehensweise, damit ich nur meine eigene Symbolleiste beim Öffnen meiner Datei habe und die anderen nur beim normalen Excelöffnen.

Vielen Dank schon mal für die Zeit und Mühe!

Gruss

Stefan



Re: symbolleiste
17.04.2002 09:26:12
Stefan F.
Vielen Dank schon mal und ich werde es gleich probieren. Gruß Stefan F.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige