PDA

Vollständige Version anzeigen : Ribbon - dynamische ComboBox


M Merlin
30.06.2015, 11:56
Hallo zusammen,
ich habe in dem Blatt Abteilungen ab Zelle B6 meine Werte, welche ich in der Combobox des Ribbons anzeigen und auswerten möchte.
Mein Code sieht folgender maßen aus:


Public Sub Filter_getItemCount(control As IRibbonControl, ByRef returnedVal)
returnedVal = ThisWorkbook.Sheets("Abteilungen").Range("B" & Rows.Count).End(xlUp).Row - 5
End Sub

Public Sub Filter_getItemID(control As IRibbonControl, index As Integer, ByRef id)
id = index
End Sub

Public Sub Filter_getItemLabel(control As IRibbonControl, index As Integer, ByRef returnedVal) returnedVal = ThisWorkbook.Sheets("Abteilungen").Cells(index + 6, 2).value
End Sub

Sub Filter_OnAction(control As IRibbonControl, id As Integer, ItemText As String)
MsgBox ItemText
End Sub


Die Werte werden in der Combox des Ribbons korrekt angezeigt. Wenn ich die Combo aber klicke bekomme ich nicht den Text des gewähten Items zurück, sondern 0. Was mache ich falsch?
Was muss ich ändern, damit ich den Text des Items zurück bekomme?

Schon mal vielen Dank für eure Hilfe...

Hajo_Zi
30.06.2015, 15:44
ich würde vermuten nur text

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

M Merlin
30.06.2015, 16:36
ich würde vermuten nur text

Wenn du mir jetzt erklärst, was du damit meinst - wäre das schon ganz gut ;)

Hajo_Zi
30.06.2015, 16:38
ich bin davon ausgegangen Dir ist bekannt wo Deine Anzeige erzeugt wird. Ich würde vermuten hier
MsgBox ItemText

<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

M Merlin
30.06.2015, 16:40
Ne, das bringt nichts..
all das habe ich schon probiert!!!

Hajo_Zi
30.06.2015, 16:43
in meiner Datei geht es. Deine sehe ich nicht.
Bei mir steht auch
Public Sub cboCombo_onChange(control As IRibbonControl, text As String)


<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

mumpel
30.06.2015, 17:44
Hallo!

Der TO nutzt dem Code nach kein Kombinationsfeld (comboBox) sondern ein Auswahlfeld (dropDown).

<pre style='border:thin solid #FF8000; padding:12px 24px; margin-left:12px; color:#000000'><span style='color:#0000EE'>Public</span> <span style='color:#0000EE'>Sub</span> Filter_OnAction(control <span style='color:#0000EE'>As</span> IRibbonControl, id <span style='color:#0000EE'>As</span> <span style='color:#0000EE'>String</span>, index <span style='color:#0000EE'>As</span> <span style='color:#0000EE'>Integer</span>) ThisWorkbook.Sheets(index + <span style='color:#DDAA00'>1</span>).Activate <span style='color:#0000EE'>End</span> <span style='color:#0000EE'>Sub</span><br><br><hr style='color: #FF8000; background-color:#FF8000; height:1px; border:none;' /><p style='font-size:9px; font-family: Verdana; text-align: left; '><a href='http://www.rholtz-office.de/vba-html' target='_blank'>VBA/HTML - CodeConverter f&uuml;r Office-Foren</a>, AddIn f&uuml;r Office 2002-2013 - in VBA geschrieben von <a href='http://www.office-loesung.de/viewprofile19265.php'>Lukas Mosimann</a>. Projektbetreuung:mumpel</p><p style='font-size:11px; font-weight:bold; color:#0000FF; font-family:Verdana; text-align:left;'>Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0</p></pre>

Für ein Kombinationsfeld muss der Code anders lauten, siehe mein RibbonX-Workshop (siehe Signatur).

Gruß, René

M Merlin
30.06.2015, 21:07
Hmm, ich habe mir Die Auswahl- und Kombinationsfelder in deinem Workshop angesehen. Irgendwie habe ich da keinen Unterschied im VBA-Teil als im XML-Teil zwischen Auswahl und Kombinationsfeld gefunden...

Wo genau ist der Unterschied?

mumpel
01.07.2015, 02:44
Da gibt es einen Unterschied. Der erste Unterschied liegt im XML-Code, der zweite in den zugehörigen Callbacks. Du benötigst das Kombinationsfeld. Bitte schau mal genauer hin.

M Merlin
01.07.2015, 10:51
Bitte schau mal genauer hin.
Kann es sein, dass du deine Seite nach meinem letzten Post angepasst hast...!! ;)
Gestern war für Auswahlfeld und Combobox ein Unterpunkt. Heute sind beide getrennt

Aber trotzdem danke.
Jetzt funktioniert es...

mumpel
01.07.2015, 10:55
(...) Kann es sein, dass du deine Seite nach meinem letzten Post angepasst hast (...)

Ja. Ich habe so einiges anpassen müssen. Bei einigen Teilen fehlte in den Codefenstern ein "overflow", was sich negativ auf die Darstellung bei Tablets ausgewirkt hat. Gleichzeitig habe ich die beiden Elemente getrennt, da das so verständlicher ist. Zudem habe ich ein weiteres Feature eingebaut (demnächst werde ich meine Raumbilder/Stereofotografien für Rot/Cyan-Brillen präsentieren).