我有一个Excel AddIn(.xlam
文件),其中包含一些宏,我的attemt位于自定义功能区选项卡上。宏按预期工作,但现在我正在尝试制作一个功能区,以便让用户更友好。我有功能区和一个工作按钮,还有一个我无法弄清楚的下拉菜单。我不确定宏参数需要什么。以下是我到目前为止的情况。
功能区的XML(Works!):
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="My_Tab" label="My Tab">
<group id="NC_Material" label="Button1">
<button id="Button1" label="1st button" size="large" onAction="Module1.Button1Click" imageMso="ResultsPaneStartFindAndReplace" />
<dropDown id="DropDown" onAction="Module1.DropDownAction">
<item id="ddmItem1" label="Item1" />
<item id="ddmItem2" label="Item2" />
</dropDown>
</group >
</tab>
</tabs>
</ribbon>
</customUI>
.xlam
文件VBA项目的模块1中的VBA:
'this one works
Public Sub Button1Click(ByVal control As IRibbonControl)
call Button1Macro
End Sub
'this one does not work
Public Sub DropDownAction(ByVal control As IRibbonControl)
call DropDownMacro
End Sub
当我更改功能区中下拉菜单的值时,我收到错误。我不知道下拉菜单的onAction宏需要什么参数。我一直无法找到一个好的参考或例子。
我无法使用Visual Studio执行此操作,无法下载任何实用程序或其他程序。
提前致谢。
答案 0 :(得分:0)
如果你想保存自己的理智,你可以使用Andy Pope's Ribbon Editor自动生成回调(至少是他们的文字)。然后,您只需将它们复制到VBA模块中。 (我不隶属于该加载项,我只是使用它并高度推荐它)
使用该工具,我在onAction
Dropdown
的以下内容
Public Sub DropDownAction(control as IRibbonControl, id as String, index as Integer)
'
' Code for onAction callback. Ribbon control dropDown
'
End Sub
工作代码也会显示in this answer,这是我搜索的顶部。