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 回答