在excel UI功能区中动态填充dynamicMenu

时间:2016-04-13 13:56:56

标签: xml excel excel-vba uiribbon vba

我想从工作表中的列表中填充自定义Excel功能区中的dynamicMenu。我的xml代码是这样的:

<dynamicMenu id="A" label="Menu A" imageMso="FormatPainter" getContent="GetMenuContent" />

我可以看到菜单。我没有的是GetMenuContent回调,但我知道填充菜单的宏应该在哪里?

1 个答案:

答案 0 :(得分:1)

解决!得到了this link的答案。

将getContent指令直接指向此宏:

Sub GetContent(control As IRibbonControl, ByRef returnedVal)
    Dim xml As String

    xml = "<menu xmlns=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
          "<button id=""but1"" imageMso=""Help"" label=""Help"" onAction=""HelpMacro""/>" & _
          "<button id=""but2"" imageMso=""FindDialog"" label=""Find"" onAction=""FindMacro""/>" & _
          "</menu>"

    returnedVal = xml
End Sub

Sub HelpMacro(control As IRibbonControl)
    MsgBox "Help macro"
End Sub

Sub FindMacro(control As IRibbonControl)
    MsgBox "Find macro"
End Sub