0

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
4

1 に答える 1

0

私がこれを行ってからしばらく経ちましたが、コードに基づいて、SelectステートメントがコントロールのIDに基づいているように見えます。私はあなたが常にElse条項を得ていると仮定しています。

代わりに値を確認する必要がありtextます。

于 2013-10-25T16:13:04.950 に答える