リボンのドロップダウン:
<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
ドロップダウンの値を取得するにはどうすればよいですか?
直接価値を得ることができるとは思いません。
私は通常、コレクションオブジェクトからdropDownsをロードし、コレクション内のIDがdropDown内のインデックスと一致することを確認します。そうすれば、コールバックのインデックスまたはIDパラメーターに基づいて、コレクションから関連するすべての値を取得できます。ワークアラウンドに似たものを使用できますか?
これは、コレクションを変更するたびに、リボンを無効にする必要があることを意味しますか?マンマミア、クリックするたびにほぼ
はい。ただし、を使用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