Microsoft Word (2010) のリボンでコンボボックスを作成しようとしています。XML コードにカスタム UI エディターを使用し、Word のコンボボックス選択を使用してマクロを実行しています。
私はこれに非常に慣れていないので、これは非常に基本的な質問です。私の問題は、Word 内で Select Case を使用してどの Combobox 選択がクリックされたかを判断するのに問題があることです。アイテム ID に基づいてケースを作成できると予想していましたが、そうではありません (しゃれは意図されていません)。コールバックで IRibbonControl を使用して、control.Id で Select Case を実行しようとすると、コンボボックス ID に対してのみ機能します。
ここに私のXMLコードがあります:
<comboBox
id="Combo1"
label="Add Function Switch"
onChange="OnChange">
<item id="CB_SC" label="Add SC Switch" />
<item id="CB_GT" label="Add GT Toggle" />
<item id="CB_HT" label="Add HT Switch" />
</comboBox>
そして私のVBAコード
'Callback for Combo1 onChange
Sub OnChange(control As IRibbonControl, text As String)
Select Case control.id
Case "CB_SC"
Do Something
Case "CB_GT"
Do Something
Case "CB_HT"
Do Something
Case Else
Selection.TypeText text:="Selection wasn't registered"
End Select
End Sub