我正在尝试在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
答案 0 :(得分:0)
我已经有一段时间了,但是基于你的代码,你的Select
语句看起来像是控件的id。我假设你总是得到Else
条款。
您需要检查text
值。