Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
444to448
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
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zuviel wird ausgeblendet, was ist falsch?

Zuviel wird ausgeblendet, was ist falsch?
29.06.2004 09:10:45
Mandy
Hallo,
ich nutze folgenden Code zum ausblenden:
Public n As Integer
Public myCBArr() As Variant

Sub Alle_sichtbaren_ausblenden()
On Error Resume Next
Dim cb As CommandBar, i As Integer
n = 0
For Each cb In Application.Commandbars
If cb.Visible = True Then
n = n + 1
End If
Next
ReDim myCBArr(n)
n = 0
For Each cb In Application.Commandbars
If cb.Visible = True Then
myCBArr(n) = cb.Name
n = n + 1
End If
Next
For Each cb In Application.Commandbars
cb.Enabled = False
cb.Visible = False
Next
End Sub


Sub Alle_wieder_einblenden()
On Error Resume Next
Dim i As Integer
Dim cb As CommandBar
For i = 0 To n
Application.Commandbars(myCBArr(i)).Enabled = True
Application.Commandbars(myCBArr(i)).Visible = True
Next i
End Sub

Leider wird dabei gleich die eigene Menüleiste (NEUMENU) mit aus-
geblendet, die gerade erstellt wurde. Wie verhindere ich das?
Mir reicht, wenn alle möglichen Symbolleisten, die eingeschaltet
sein können ausgeblendet werden.
Was habe ich falsch gemacht?
Gruß
Mandy

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Symbolleiste ausblenden nur so möglich?
29.06.2004 10:45:46
Mandy
Hallo,
hatte ja schon geschrieben und meinen bisherigen Code mitgeteilt
https://www.herber.de/forum/messages/447353.html
und bin nun selbst leider nur auf die Variante gekommen, die mir
aber nicht so richtig gefällt:

Sub Ausblenden()
On Error Resume Next
Application.CommandBars("Formatting").Visible = False
On Error Resume Next
Application.CommandBars("Standard").Visible = False
On Error Resume Next
Application.CommandBars("Visual Basic").Visible = False
End Sub

Entsprechend dann natürlich auch das Einblenden. Kann man das
nicht auch anders machen, vor allem weil ich man ja nicht weiß,
welche Symbolleisten nun geöffnet sin. Aber wie gesagt, es soll
alles weg außer meinem mühsehlig erstellten Menü.
Sicher hat jemand eine bessere Idee. Einige Sachen aus dem Archiv
habe ich schon durch aber irgend wie finde ich nicht das Richtige.
Gruß Mandy
Anzeige
AW: Symbolleiste ausblenden nur so möglich?
29.06.2004 12:09:04
andre
Hallo Mandy,
ohne Deinen code richtig durchzuackern - prüfe vor dem Ausblenden den Namen von cb und wenn es Deiner ist blende nicht aus..
Doch jede Symbolleiste einzeln ausblenden?
29.06.2004 12:43:25
Mandy
Hallo Andre,
das heißt also, ich muss doch jede Symbolleiste einzeln abfragen,
auch wenn ich nur meine Menüleiste behalten will und sonst jede
Symbolleiste ausblenden will?
Gruß Mandy
AW: Doch jede Symbolleiste einzeln ausblenden?
29.06.2004 13:39:38
Ulf
Dim cb as commandbar
for each cb in commandbars
cb.enabled = false
next
Commandbars("Deine").enabled = true
Commandbars("Deine").visible = true
Ulf
Symbolleiste bleiben leider erhalten
29.06.2004 14:02:48
Mandy
Hallo Ulf,
leider bekomme ich deinen Code Nicht zum Laufen, er blendet
keine Symbolleisten aus sondern Menüleisten, wenn ich das
richtig sehe. Ich hab sogar noch mal
cb.visible = false
eingefügt, dabei passiert aber auch nichts. Ich finde aber auch
nicht das richtige im Archiv. Ausblenden geht ja mit meinen 2. Code
sicher gut, den kann man ja erweitern. Nur weiß ich nicht, welche
Symbolleisten aktiv waren und welche nicht und stelle dann die flaschen
wieder zu.
Gruß Mandy
Anzeige
AW: Symbolleiste bleiben leider erhalten
29.06.2004 15:17:25
Ulf
Scheinbar siehst du das nicht richtig. Hast du es überhaupt mal probiert?
Ulf
AW: Doch jede Symbolleiste einzeln ausblenden?
29.06.2004 14:22:50
andre
Hallo Mandy,
Dein code nimmt schon jede einzeln raus, das geht nur so schnell dass man es nicht merkt.
...
For Each cb In Application.CommandBars
cb.Enabled = False
cb.Visible = False
Next
...
Ansonsten kannst Du auch die reihenfolge ändern, erst alle ausschalten und dann Deine hinzufügen oder Deine einzeln wieder einblenden...
Symbolleiste ausblenden ok und jetzt einblenden?
29.06.2004 16:44:23
Mandy
Hallo Ulf und Andre,
danke hab den Fehler gefunden, wenn ich das so mache und

Sub Symbol_Aus()
Dim cb As CommandBar
For Each cb In CommandBars
cb.Enabled = False
cb.Visible = False
Next
On Error Resume Next
CommandBars(NMENU).Enabled = True
On Error Resume Next
CommandBars(NMENU).Visible = True
End Sub

cb.Visible = False
darunter setze geht es jetzt. Wenn ich jetzt aber wieder
einblenden sagen will, dann macht er mir alle auf. Mein
Menü wiederherstellen klappt, aber die Symbolleisten be-
komme ich entweder reichlich eingeblendet (alle die Excel
zu bieten hat) oder gar keine. Außerdem bekomme ich sie
nicht rein, wenn die Datei gewechselt wird. Beim Menü klappt
das ganz gut.
Hier mein rücksetzen:

Sub Symbol_Ein()
Dim cb As CommandBar
For Each cb In CommandBars
cb.Enabled = True
Next
MenuReset
End Sub

Gruß Mandy
Anzeige
AW: Symbolleiste ausblenden ok und jetzt einblenden?
29.06.2004 16:57:59
Ulf
Visible = false ist unnötig beim Ausblenden und darf beim Einblenden nicht sein.
Excel weiß, welche beim Ausblenden sichtbar waren.
Ulf
Mit Code geht einblenden nicht, auch nicht Wechsel
29.06.2004 17:23:43
Mandy
Hallo Ulf,
mit dem Code

Sub Symbol_Ein()
Dim cb As CommandBar
For Each cb In CommandBars
cb.Enabled = True
Next
MenuReset
End Sub

Blende ich wie schon gesagt alle ein, die es überhaupt gibt,
wobei ich einige noch gar nicht kannte, und wenn ich das zum Wechseln
der Datei einsetze, dann klappt das auch irgend wie nicht. Wo liegt
diesmal der Fehler, ich komme hier nicht weiter. Füge ich Visible ein,
dann geht gar nichts mehr.
Wäre nett, sich das nochmal jemand ansehen kann, warum das nicht
funktioniert oder was ich hier falsch eingegeben habe.
Gruß Mandy
Anzeige
AW: Mit Code geht einblenden nicht, auch nicht Wechsel
29.06.2004 18:04:53
andre
Hallo Mandy,
es muss eigentlich so klappen wie Ulf auch schon mal geschrieben hat.
1. Mit Deinem ursprünglichen code erzeugst Du eine Liste, wo drin stehrt, was alles sichtbar war und blendest es aus. Mit dem zweiten Teil blendest Du alles wieder ein, was sichtbar war. Nimm mal statt dem zweiten Teil dieses Stück. Hier wierd nur die Leiste Standard eingeblendet. Wenn Du Deinen Namen schreibst, wird nur das eingeblendet. Der Name in "" oder ohne, wenn er als variable übergeben wird. Dann zum testen auch mal das On Error ... auskommentieren damit Du siehst wo was hängt.
Wenn Du mit Deinem Code alle ausgeblendet hast nimm mal das und Du wirst sehn, es kommt nur eine Leiste wieder. Blende dann alles wieder ein und aus, statt Standard nimm dann Deinen Namen.

Sub eins_wieder_einblenden()
CommandBars("Standard").Enabled = True
CommandBars("Standard").Visible = True
End Sub

Wenn Du die Mappe wechselst oder gar schließt, mit der Du die Leisten ausgeblendet hast, kann es schon passieren, dass Du sie nicht wieder rein bekommst. Das hängt mit der Gültigkeit der Variablen zusammen.
Anzeige
Symbolleiste einblenden versuchen! Aktualisieren??
29.06.2004 18:18:51
Mandy
Hallo,
mal sehen, irgend wie macht er hier das Wiederherstellen nicht ganz richtig.
Vor allem habe ich seit dem Probieren ein "Aktualisieren" als Symbolleiste, was
sich nicht weglöschen lässt. Kennt das jemand? Wie bekomme ich das weg?
Gruß Mandy
AW: Symbolleiste einblenden versuchen! Aktualisieren??
29.06.2004 20:53:29
Ulf
Was passiert eigentlich in MenuReset? Zeig mal den Code davon.
Ulf
Neuer Versuch - Symbolleiste ein! Aktualisieren???
30.06.2004 07:56:20
Mandy
Hallo Ulf,
im MenuReset wird meine Menüleiste wieder ausgeblendet und
die Originale ein, mehr passiert da nicht:

Sub MenuReset()
On Error Resume Next
CommandBars(NMENU).Delete
On Error Resume Next
CommandBars(1).Enabled = True
End Sub

Oder siehst du da einen Fehler?
Was ist die Symbolleiste Aktualisieren, wie bekommt man die wieder weg?
Das normale ausschalten oder löschen im Excel selbst geht nicht.
Gruß Mandy
Anzeige
- Danke Ulf und Andre -
30.06.2004 18:33:08
Mandy
Danke Ulf und Andre,
hab mir alles noch einmal angesehen, etliches geändert
und nun geht alles auch mit meinem Menü und Popupmenü.
Schön, wenn man hier Hilfe bekommt.
Gruß Mandy
Thread geschlossen
02.07.2004 09:39:08
oT

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige