功能区上的下拉菜单:
<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 的值?
我不认为你可以直接获得价值。
我通常从集合对象中加载下拉列表,并确保集合中的 ID 与下拉列表中的索引匹配。这样我就可以根据回调中的索引或 ID 参数从集合中获取所有相关值。你可以使用类似的东西作为workaraound吗?
这是否意味着每次更改集合后,我都需要使功能区无效?Mamma Mia,几乎每次点击后都会出现
是的,但是,通过使用ribbonobject.InvalidateControl("ID")
您可以使特定的下拉控件无效,而不是整个功能区。
非常简短的例子:
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