Symbolleiste vollständig kontrollieren [EX97]

22/09/2007 - 21:17 von Eric March | Report spam
Moin, Moin!

Vor gar nicht langer Zeit fragte ich hier wie ich eine Symbolleiste bei
Bedarf erzeuge. Die Antworten waren hilfreich, aber irgendwie ist das
aus dem Ruder gelaufen (ganz leise an mir vorbei). Wo einst noch einmal
eine einzige schnelle Hilfsleiste reichte habe ich 3 Mappen an der Hand
die ihre Hilfsleiste haben sollen. Und drei Extraleisten sind des Guten
zu viel.

Ich kann dank kràftiger Hilfe von hier Leisten Erzeugen und löschen,
Buttons hinzufügen und ein kleiner Versuch làsst mich mittlerweile auch
ermitteln ob eine (bestimmte) Leiste da ist oder nicht. Und so kam ich
auf folgende Idee:

1. Eine der Mappen wird gestartet.
2. Ist die Leiste da? Wenn ja eigene Buttons platzieren, wenn nein erst
die Leiste erzeugen.
3. Mappe wird geschlossen.
4. Planung: meine Buttons löschen.
5. Planung: Sind noch andere Buttons da? Wenn nein nun auch die Leiste
löschen.

Und hier setze ich an: wie ermittele ich welche Buttons Bestandteile der
bewussten Leiste sind und wie lösche ich dann einen Button wieder? Beim
durchsehen des Erzeugungscodes der Buttons ist kein Groschen gefallen…


Zusatzfrage: ich erzeuge nur einfache Schaltflàchen. Wie erzeuge ich
eine Schaltflàche mit Text dran bzw. nur deren Text? Ich habe mal die
Optionen gesichtet die mir ein Punkt beim Button Erzeugen liefert, aber
sicherlich habe ich da was übersehen.

Eric March - eric.march(spambremse)@gmx.net

»Kenne die Vergangenheit. In der Unwissenheit über die Vergangenheit
liegt das Verderben der Zukunft.«
„Die Geschichte ist der beste Lehrmeister - mit den unaufmerksamsten
Schülern.“ Indira Gandhi
 

Lesen sie die antworten

#1 stefan onken
24/09/2007 - 11:00 | Warnen spam
hallo Eric,
On 22 Sep., 21:17, Eric March <"Eric March"> wrote:
Moin, Moin!

1. Eine der Mappen wird gestartet.
2. Ist die Leiste da? Wenn ja eigene Buttons platzieren, wenn nein erst
die Leiste erzeugen.
3. Mappe wird geschlossen.
4. Planung: meine Buttons löschen.
5. Planung: Sind noch andere Buttons da? Wenn nein nun auch die Leiste
löschen.

Und hier setze ich an: wie ermittele ich welche Buttons Bestandteile der
bewussten Leiste sind und wie lösche ich dann einen Button wieder? Beim
durchsehen des Erzeugungscodes der Buttons ist kein Groschen gefallen...



eine Möglichkeit, Controls zu suchen, ist die Funktion FindControl.
Dann müsstest du aber für jeden einzelnen Control die Funktion
anwenden. Besser ist mE, die Controls in einer Schleife abzuarbeiten.
Controls haben die Eigenschaft Tag für die Speicherung von
Informationen. Beim Erzeugen der Controls könntest du den Dateinamen
in Tag reinschreiben

Set ctrl = CommandBars("A").Controls.Add(Type:=msoControlButton)
ctrl.Style = msoButtonIcon
ctrl.Tag = ThisWorkbook.Name
ctrl.Caption = "D"
ctrl.OnAction = "machwas"

und beim schliessen die Controls danach abfragen

For Each ctrl in CommandBars("A").Controls
If ctrl.Tag = ThisWorkbook.Name Then ctrl.Delete
Next


Zusatzfrage: ich erzeuge nur einfache Schaltflàchen. Wie erzeuge ich
eine Schaltflàche mit Text dran bzw. nur deren Text? Ich habe mal die
Optionen gesichtet die mir ein Punkt beim Button Erzeugen liefert, aber
sicherlich habe ich da was übersehen.



das kannst du über die Eigenschaft Style einstellen. Anstatt
msoButtonIcon gibt es ua noch msoButtonCaption (nur Text) oder
msoButtonIconAndCaption.

Gruß
stefan

Ähnliche fragen