功能区上的dropDown:
<dropDown id="dd01"
onAction="dd01OnAction"/>
在VBA中,我需要
Sub dd01OnAction(control As IRibbonControl, ID As String, index As Integer)
If dd01.Value = "Sky" Then MsgBox "323"
End Sub
如何获取dropDown的值?
答案 0 :(得分:1)
我认为你不能直接获得价值。
我通常从集合对象加载dropDowns,并确保集合中的ID与dropDown中的索引匹配。这样我就可以根据回调中的索引或ID参数从集合中获取所有相关值。你能用类似工作的东西吗?
这是否意味着在每次更改Collection之后,我需要Invalidate ribbon? Mamma Mia,几乎每次点击后都会
是的,但是,通过使用ribbonobject.InvalidateControl("ID")
,您只能使特定的dropDown控件无效,而不是整个功能区。
非常简短的例子:
Sub dd01OnAction(control As IRibbonControl, ID As String, index As Integer)
'***** Assumes that MyCollection is initialized elsewhere
'***** and filled with strings :)
Debug.Print "The value is " & MyCollection.Item(index)
If MyCollection.Item(index) = "Sky" Then MsgBox "323"
End Sub