Forums Neueste Beiträge
 

Excel 2003: angefügte Symbolleiste

05/09/2008 - 15:05 von Wagner, Werner | Report spam
Hallo NG

ich habe eine benutzerdefinierte Symbolleiste an eine Arbeitsmappe angefügt,
um so Schaltflàchen für Prozeduren dieser Mappe anbieten zu können. Beim
testen habe ich allerdings festgestellt, dass die Sysmbolleiste nach dem
Öffnen auf einem anderen Platz wieder in die Liste der
Excel-Symbolleistenaufgenommen wird.

Wie kann ich nun dafür sorgen, dass die angefügte Symbolleiste nur dann zur
Verfügung steht, wenn die betrefende Arbeitsmappe geöffnet ist. Eigentlich
habe ich nicht so viel Lust, die Leiste per VBA zu erstellen und zu löschen.

Werner
 

Lesen sie die antworten

#1 Reiner Wolff
06/09/2008 - 09:42 | Warnen spam
Moin Werner,

*Wagner, Werner* schrieb:
ich habe eine benutzerdefinierte Symbolleiste an eine Arbeitsmappe angefügt,
um so Schaltflàchen für Prozeduren dieser Mappe anbieten zu können. Beim
testen habe ich allerdings festgestellt, dass die Sysmbolleiste nach dem
Öffnen auf einem anderen Platz wieder in die Liste der
Excel-Symbolleistenaufgenommen wird.



Das liegt daran, dass Excel (bis 2003) beim Öffnen der Datei die
Symbolleiste in die Excel.xlb übernimmt, um diese überhaupt anzeigen zu
können. Es wird hierbei zunàchst überprüft, ob die Symbolleiste mit
gleichem "Erstellungsindex" bereits vorhanden ist. Ist sie nicht vorhanden,
wird die an die Datei angefügte Symbolleiste kopiert.

Das beobachtete Verhalten liegt also am Design von Excel.
Und ja, Word verhàlt sich da anders ;-)

Wie kann ich nun dafür sorgen, dass die angefügte Symbolleiste nur dann zur
Verfügung steht, wenn die betrefende Arbeitsmappe geöffnet ist.
Eigentlich habe ich nicht so viel Lust, die Leiste per VBA zu erstellen
und zu löschen.



Ohne VBA: ist mir nichts bekannt.
Mit VBA hast Du verschiedene Möglichkeiten:
- beim Schließen der Datei die Symbolleiste einfach löschen
(auch wenn Du das nicht willst).
Neu erstellen brauchst Du sie nicht,
da sie ja immer noch an der Datei hàngt
- beim Schließen der Datei die Symbolleiste "abschalten":
Application.CommandBars("MeineSymbolleiste").Enabled = False
Damit taucht sie dann auch nicht mehr in der Liste auf. Mir wàre dann
kein Weg bekannt, wie ein Benutzer sie ohne VBA wieder sichtbar machen
könnte.
Dann musst Du sie allerdings beim Öffnen der Datei auch wieder
"einschalten".

Prinzipiell gibt es beim Ausliefern von Symbolleisten Schwierigkeiten, wenn
Du spàter Änderungen an der Symbolleiste vorgenommen hast (zB. Symbol
hinzugefügt). Aber dazu mehr, wenn Du das Problem haben solltest.

Excel2007 behandelt das mit seinen Ribbons im übrigen komplett anders. Dort
wird dann ganz nach Wunsch das eigene Ribbon nur angezeigt, wenn auch die
Datei geöffnet ist.

Gruß aus Kiel
Reiner
Wenn irgendwas mit deinem Computer nicht stimmt, sag deiner Sekretàrin,
dass sie die EDV-Abteilung anrufen soll. Wir lieben das Spielchen,
mit einer dritten Person ein Problem zu klàren,
von dem Sie absolut überhaupt nichts weiss.

Ähnliche fragen