Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alle Symbolleisten ausblenden bis auf eine?

Alle Symbolleisten ausblenden bis auf eine?
06.02.2004 08:04:27
Markus H.
Guten Morgen,
ich weiß jetzt wie man einzeln angeben kann ob eine Symbolleiste aus/eingeblendet werden soll!
gibt es jetzt ne möglichkeit zu erkennen welche Symbolleisten der User eingeblendet hat, diese alle auszublenden, dann EINE benutzerdefinierte zu laden.
und vor dem Schließen alles wieder so herzustellen wie es am anfang war?
Hoffe ihr versteht mein anliegen!
MfG
Markus

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Symbolleisten ausblenden bis auf eine?
06.02.2004 08:34:55
gordon
Hi Markus, mal ein Schnellschuss... habe momentan keine Entwicklungsumgebung
dim namecmd as String()
dim cmdbar as Commandbar
'ausblenden
For each cmdbar in Application.commandbars
if cmdbar.visible = True then
-> name in Array merken
namecmd(i) = cmdbar.name
cmdbar.visible = false
next
'einblenden
-> array durchnudeln
for i = 1 to Ubound(array)
Application.CommandBars(namecmd(i)).Visible = True
...
Die Grenzen des Array bei jeder gefundenen Commandbar raufsetzen oder einfach Obergrenze festlegen (theoretisch kann natürlich auch mal jemand mehr als diese Obergrenze angezeigt haben, also sauberer ist die variable Obergrenze...)
Vielleicht gibt's auch einen einfacheren Weg, aber der hier funktioniert...
Gruß
gordon
Anzeige
äh.. kein plan wie ich das erweitern soll...
06.02.2004 09:05:13
Markus H.
danke für die antwort! nur leider weiß ich nicht wie ich das einbauen soll!
das das makro unter Diese Arbeitsmappe kommt ist mir klar! und beim start ausgeführt werden soll! aber der rest?
hoffe du kannst mir noch mal ausführlicher schreiben.
MfG
Markus
AW: äh.. kein plan wie ich das erweitern soll...
06.02.2004 09:21:27
gordon
Sorry, aber wie gesagt kein Office auf dem Rechner :-(
Vielleicht hilft ein wenig Prosa:
Zuerst ermitteln, welche Symbolleisten überhaupt eingeschaltet sind:
das macht
for each cmdbar in Application.commandbars ...
if cmdbar.visible = True
Application.commandbars sind alle Symbolleisten, die die jeweilige Excel-Installation kennt.

Jede visible=True Symbolleiste dann auf false setzen, dann isse wech...
sicherheitshalber noch ein on error...resume next um die Deaktivierung, soweit ich mich erinnere kann bei einigen Commandbars die Eigenschaft 'visible' nicht geändert werden.
Die deaktivierten musst Du Dir natürlich 'merken', z.B. in einem global definierten Array die Eingenschaft cmdbar.name speichern.
Im Array stehen dann nach erfolgreicher Ausblenderei alle Namen der nicht mehr angezeigten Sysmbolleisten.
Beim Schliessen der Mappe dann die im Array vorhandenen wieder auf visible = True setzen.
Mal im Debugger die einzelnen zeilen durchlaufen, dann wird's hoffentlich noch klarer.
Gruss
gordon
Anzeige
hab was im archiv gefunden, aber frage. s.o
06.02.2004 09:47:37
Markus H.
.. :-)
AW: hab was im archiv gefunden, aber frage. s.o
06.02.2004 14:44:20
Nepumuk
Hallo Markus,
alle aus- bzw. einblenden geht so:

Option Explicit
Private Sub Leisten(bolStatus As Boolean)
Dim myCommandBar As CommandBar
With Application
.ScreenUpdating = False
.DisplayStatusBar = bolStatus
.DisplayFormulaBar = bolStatus
End With
On Error Resume Next
For Each myCommandBar In Application.CommandBars
myCommandBar.Enabled = bolStatus
Next
CommandBars("eigene Leiste").Enabled = Not bolStatus 'deine Leiste!!!!!!!!!!
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
Public Sub einblenden()
Call Leisten(True)
End Sub
Public Sub ausblenden()
Call Leisten(False)
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
ok + frage
06.02.2004 16:15:33
Markus H.
Hallo Nepumuk
sieht zunächst erst mal gut aus, kann das jetzt aber nciht testen!
er blendet mir also alle symbolleisten aus, und wenn ich schließe wieder die ein, die am anfang auch aktiviert waren?
MfG
Markus
AW: ok + frage
06.02.2004 16:26:13
Nepumuk
Hallo Markus,
ja und deine Eigene wird ausgeblendet.
Gruß
Nepumuk
genial.. freu mich auf montag wenn ich testen kann
06.02.2004 16:54:21
Markus H.
.. vielen dank dir!
hau rein & schönes we!
Markus
AW: ok + frage
06.02.2004 20:37:10
gordon
Hi Markus,
tjaja, an was man sich zu erinnern glaubt...visible statt enable tsts. Hab' noch mal auf meinem Rechner gestöbert und eine ähnliche Lösung wie Nepomuk gefunden, seine ist allerdings noch eleganter.
@N.: Klasse !
Gruß
gordon
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige