MS-Word自定义UI组合框项目ID

时间:2013-10-25 14:13:30

标签: xml vba combobox ms-word

我正在尝试在Ribbon for Microsoft Word(2010)上制作一个组合框。我正在使用自定义UI编辑器的XML代码,然后使用Word中的组合框选择来运行宏。

我对此很新,所以这是一个非常基本的问题。我的问题是在Word内部,我无法使用Select Case来判断哪个Combobox选项被点击了。我期待我可以根据项目ID做一个案例,但事实并非如此(没有双关语意)。在回调中使用IRibbonControl,如果我尝试在控件上执行Select Case.Id它只适用于组合框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

1 个答案:

答案 0 :(得分:0)

我已经有一段时间了,但是基于你的代码,你的Select语句看起来像是控件的id。我假设你总是得到Else条款。

您需要检查text值。