根据功能区下拉列表设置变量

时间:2018-10-31 12:33:20

标签: excel xml vba ribbon

我创建了带有下拉XML的自定义功能区:

<dropDown id="sections" onAction="sectionsmacro" >
<item id="section1" image="section1" label="navy" />
<item id="section2" image="section2" label="sapphire" />
<item id="section3" image="section3" label="purple" />
<item id="section4" image="section4" label="emerald" /> 
<item id="section5" image="section5" label="cyan" />
</dropDown>

我想设置一个宏,该宏将在“如果是”情况下工作,具体取决于在下拉菜单中选择的内容。

因此,我有一个宏,它将所有内容都染成黑色,但是如果选择了紫色,则我的宏会将所有内容染成紫色。如何在宏级别上引用功能区下拉列表?谢谢您的帮助!


谢谢,尽管这并不是我真正要说的。。。假设我在下拉菜单中选择了“海军”,仅此而已。它的索引为0。下一步是在另一个宏中使用该变量。所以我会有这样的东西:

Sub tablecolour()

'if value on drop down = 0 ('navy') then 
else end if

end sub

因此,基于在下拉列表中选择的值,我想以某种方式运行另一个宏。我不知道如何使用下拉菜单中的值将其读取为单独宏中的变量。

1 个答案:

答案 0 :(得分:0)

简单。将此添加到Excel文件中的模块中:

'Callback for sections onAction
Sub sectionsmacro(control As IRibbonControl, id As String, index As Integer)
    MsgBox index
End Sub

您会注意到,您将获得所选项目的索引(从零开始)