Hinzufügen eines Symbols zur persönlichen Leiste

Bild

Betrifft: Hinzufügen eines Symbols zur persönlichen Leiste
von: Holger
Geschrieben am: 06.04.2005 12:10:58
Hallo, zu meiner selbsterstellten Symbolleiste möchte ich per Dateiaufruf eine Schaltfläche mit Popup-Menü hinzufügen. Leider kommt bei "Type" immer die Meldung "Zuweisung an schreibgeschützte Eigenschaft nicht möglich". Was mache ich falsch?
Gruß, Holger


Private Sub Workbook_Open()
Dim Steuerelement As CommandBarPopup
Set Steuerelement = Application.CommandBars("MeineSymbolleiste").Controls.Add(Type:=msoControlPopup)
With Steuerelement
    .Type = msoControlSplitButtonPopup
End With
End Sub

Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: Uduu
Geschrieben am: 06.04.2005 13:00:27
Hallo,
.Type ist eine schreibgeschützte Eigenschaft.
Was soll ein msoControlSplitButtonPopup sein?
Gruß aus'm Pott
Udo

Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: Holger
Geschrieben am: 06.04.2005 13:31:19
Hi, Udo
msoControlSplitButtonPopup ist ein Wert(Konstante) der Type-Eigenschaft. Das Ding sieht so aus wie die Schaltflächen, wo du z.B. die Schriftfarbe einstellen kannst. Rechts ist ein schwarzer Pfeil, wenn man auf den klickt, öffnet sich ein Untermenü mit den verschiedenen Farben. Gibt es auch für Rahmen, Füllfarbe etc.
Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: u_
Geschrieben am: 06.04.2005 13:58:12
Hallo,
ich befürchte was du willst geht nicht.
Aus der Hilfe zur Add-Methode(XP)
Erstellt ein neues CommandBarControl-Objekt und fügt es zur Auflistung der Steuerelemente auf der angegebenen Befehlsleiste hinzu.
Ausdruck.Add(Type, Id, Parameter, Before, Temporary)
Ausdruck Erforderlich. Ein Ausdruck, der ein CommandBarControls-Objekt zurückgibt.
Type Optionaler Variant-Wert. Der Typ des Steuerelements, das zur angegebenen Befehlsleiste hinzugefügt werden soll. Kann eine der folgenden MsoControlType-Konstanten sein: msoControlButton, msoControlEdit, msoControlDropdown, msoControlComboBox oder msoControlPopup.

Gruß
Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: Holger
Geschrieben am: 06.04.2005 14:10:17
Hallo, auch ich habe schon die Excel-Hilfe durchforstet. Ich denke das CommandBarPopup-Objekt gehört zum CommandBarControls-Objekt (eine Art Unterkategorie). Und dazu steht in der Hilfe:
Verwenden Sie Controls(Index), um ein CommandBarPopup-Objekt zurückzugeben, wobei Index die Nummer des Steuerelements ist. (Die Type-Eigenschaft des Steuerelements muß einer der folgenden Werte sein: msoControlPopup, msoControlGraphicPopup, msoControlButtonPopup, msoControlSplitButtonPopup oder msoControlSplitButtonMRUPopup).
Hmm, ich bin mir fast sicher, dass es geht. Nur wie....???
Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: K.Rola
Geschrieben am: 06.04.2005 13:48:21
Hallo,
dieses Teil kannst du nicht benutzerdefiniert verwenden. Du kannst höchstens
ein eingebautes in deiner Symbolleiste mit der Originalfunktion verwenden.
Gruß K.Rola
Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: Holger
Geschrieben am: 06.04.2005 13:55:07
Bist Du Dir sicher? Ich denke schon, dass das mit VBA irgendwie geht. Ich habe schon andere benutzerdefinierte Popupmenüs gesehen. Leider war der Code gesperrt.
Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: K.Rola
Geschrieben am: 06.04.2005 14:05:58
Hallo,
ganz sicher, du brauchst dir nur im Objektmodell der Commandbars(Office- Bib)anzusehen
welche Objekte es da gibt.
Wie gesagt, du kannst eingebaute in deiner Symbolleiste verwenden, aber nur mit der Originalfunktionalität.
Gruß K.Rola
Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: Holger
Geschrieben am: 06.04.2005 14:14:05
Hmm, K.Rola, ich war mal so frei, und habe die Excel-Hilfe unten reinkopiert. Vielleicht bin ich ja zu blöd, aber ich kann nicht darin ersehen, dass es nicht gehen sollte.

CommandBarPopup-Objekt
Stellt ein Popup-Steuerelement in einer Befehlsleiste dar.
Verwendung des CommandBarPopup-Objekts
Verwenden Sie Controls(Index), um ein CommandBarPopup-Objekt zurückzugeben, wobei Index die Nummer des Steuerelements ist. (Die Type-Eigenschaft des Steuerelements muß einer der folgenden Werte sein: msoControlPopup, msoControlGraphicPopup, msoControlButtonPopup, msoControlSplitButtonPopup oder msoControlSplitButtonMRUPopup).
Sie können auch die FindControl-Methode verwenden, um ein CommandBarPopup-Objekt zurückzugeben. Im folgenden Beispiel werden alle Befehlsleisten nach einem CommandBarPopup-Objekt durchsucht, für dessen Marke "Grafiken" festgelegt wurde.
Set meinSteuerelement = Application.CommandBars.FindControl _
(Type:=msoControlPopup, Tag:="Grafiken")
Anmerkungen
Jedes Popup-Steuerelement enthält ein CommandBar-Objekt. Um die Befehlsleiste aus einem Popup-Steuerelement zurückzugeben, weisen Sie dem CommandBarPopup-Objekt die CommandBar-Eigenschaft zu.
Bild

Betrifft: AW: Hinzufügen eines Symbols zur persönlichen Leiste
von: K.Rola
Geschrieben am: 06.04.2005 14:33:01
Hallo,
ok, mein Fehler war der Hinweis auf die Office- Bib. Was bei benutzerdefinierten
Leisten möglich ist, findest du unter Application.Commandbars.
Nochmal, du kannst diese controls verwenden, aber nicht mit benutzerdefinierten
Funktionen.
Gruß K.Rola
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Hinzufügen eines Symbols zur persönlichen Leiste"