Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
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
Inhaltsverzeichnis

eigene Symbolleiste, msoControlComboBox

eigene Symbolleiste, msoControlComboBox
19.06.2009 11:24:40
Peter
Hallo,
gestern haben mir Luschi und NoNet ganz gut geholfen, meine eigene Symbolleiste zu programmieren. Es funktioniert unter XP auch einwandfrei. Jetzt wollte ich das Programm auch unter Office 2007 starten. Während der Button Parameter und Grafik und verschiedene ähnlich aufgebaute Schalter richtig angezeigt werden (wenn man die Symbolleiste als Addin öffnet), wird der Schalter Zeit nicht angezeigt. Ich habe mit Office 2007 keinerlei Erfahrung. Kann mir jemand helfen und zeigen, wie ich das Makro verändern muss, damit auch der Schalter für die Auswahl Zeit angezeigt wird?
Hier mein Code:

Sub SymbolleisteErstellen()
Dim cBox As CommandBarControl
Dim Param As CommandBarControl
Dim Button As CommandBarButton
'Button Parameter einrichten
Set Param = Application.CommandBars("NeueSymbolleiste").Controls.Add(Type:=msoControlPopup)
With Param
.Caption = "Parameter"
.TooltipText = "Parameter auswählen"
.Width = 60
.Height = 30
End With
'Schalter Grafik
Set Button = Param.Controls.Add
With Button
.BeginGroup = True
.Caption = "Grafik"
.Style = msoButtonIconAndCaption
.TooltipText = "Grafik anzeigen"
If UCase(Sheets("Frei").Range("G63")) = "JA" Then
.State = msoButtonDown
Else
.State = msoButtonUp
End If
.OnAction = Dateiname & "!Grafik"
End With
'Schalter Zeit
Set cBox = Param.Controls.Add(Type:=msoControlComboBox)
With cBox
.AddItem "10", 1
.AddItem "11", 2
.AddItem "12", 3
.AddItem "13", 4
.AddItem "14", 5
.Text = CStr(Sheets("Frei").Range("g61"))
.Caption = "Zeit"
.DropDownWidth = 30
.Visible = True
.OnAction = Dateiname & "!MaxStunden"
End With
End Sub


Danke für Hilfe
Grüße
Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eigene Symbolleiste, msoControlComboBox
19.06.2009 11:58:12
Ramses
Hallo
Das kannst du vergessen.
Office 2007 unterstützt diese Objectmodell nicht mehr, daher funktionieren alle selbst erstellte Symbolleisten nicht mehr.
Daher immer die Frage korrekt stellen und was man errreichen will.
Da ist nun sinnlos Zeit verpulvert worden
In Office 2007 sind es neu die RibbonX (Multifunktionsleisten) und diese sind SO nicht mehr zu programmieren sondern müssen via XML extern programmiert werden und dann via VBA zum Leben erweckt werden.
Hinweise wie das geht findest du hier
http://www.online-excel.de/fom/fo_read.php?f=1&bzh=-1&h=36570&ao=1
und eine sehr gute Anleitung findest du hier
http://www.office2007-hilfe.de/ribbonx-multi/
Gruss Rainer
Anzeige
AW: eigene Symbolleiste, msoControlComboBox
19.06.2009 12:10:17
Peter
Hallo Rainer,
das hatte ich schon gelesen, dass mit Office 2007 eigene Symgolleisten nicht mehr so ohne weiteres zu programmieren sind. Aber: die im Makro vorhandene lässt sich als Addin aufrufen. Es werden alle Buttons angezeigt, auch mein Parameter-Button. Das Menue öffnet sich und es werden alle Auswahlmöglichkeiten angezeigt. Bei einem Klick wird ein Häkchen gesetzt usw. Nur die ComboBox wird nicht angezeigt. Ich hatte gehofft, es gibt irgendeine Möglichkeit, sie auch noch sichtbar zu machen. Da ich kein Office 2007 habe (nur XP), kann ich auch nichts ausprobieren und auch keine RibbonX Multifunktionsleiste basteln.
Vielleicht hast Du noch einen Tipp.
Grüße
Peter
Anzeige
AW: eigene Symbolleiste, msoControlComboBox
19.06.2009 13:03:11
Luschi
Hallo Rainer,
Deine Antwort stimmt so nicht, das Objectmodell 'Commdbars' wurde sogar noch erweitert.
siehe meine Antwort: https://www.herber.de/forum/archiv/924to928/t926800.htm#927125
Es läßt sich nur in Vba nicht mehr so wie bisher ansprechen.
Ich glaube immer noch (auch wenn das SP1 für O2007 meine Erwartung nicht erfüllt hat), daß die XML-Ribbons nur die Oberfläche darstellen und die internen Vorgänge weiterhin über das Commandbars-Objekt läuft. Denn welchen Sinn sollte es sonst machern, dieses Commandbars-Modell weiter auszubauen.
Sowas Ähnliches habe ich bei Access beobachtet. Mit Access 2000 wurde das ADODB-Objektmodell für den Zugriff auch Datenbanken aller Art neu propagiert und der DAO-Zugriff als Möglichkeit von 'GESTERN' dargestellt. Access 2007 belehrt uns nun eines Besseren und DAO ist wieder 'IN' . Alles, was der Vergangenheit angehören sollte, wird voll unterstützt und der Zugriff auf MS-SQL-Server 2008 ist mit DAO-wesentlich einfacher zu programmieren als mit ADODB.
Gruß von Luschi
au8s klein-Paris
Anzeige
AW: eigene Symbolleiste, msoControlComboBox
19.06.2009 13:10:36
mumpel
Hallo!
So sollte es funktionieren. Muss eventuell noch angepasst werden.
Gruß, René
AW: eigene Symbolleiste, msoControlComboBox
19.06.2009 13:46:01
Peter
Hallo René,
besten Dank für Deinen Code, ich werde mich an die Arbeit machen. Mit office 2007 testen kann ich es erst heute abend. Ich werde berichten, ob es funktioniert.
Schönen Tag und Dank für die Hilfe
Peter
AW: eigene Symbolleiste, msoControlComboBox
22.06.2009 21:34:40
Peter
Hallo René,
mit Deinem Hinweis funktioniert die Combobox-Anzeige in der Symbolleiste auch unter Office 2007. Die Box erscheint jetzt zwar als einger Button und nicht mehr im Popup-Menue, aber damit kann man auch leben.
Danke für die Hilfe.
Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige