将button添加到数据透视表工具function区/工具栏

我正在尝试将一个button添加到将分配给macros的function区。 我知道如何通过XML创build一个button,以及如何将其分配给一个macros,但我很难识别正确的控制ID /命令栏。 我想添加一个button到“数据透视表工具”菜单。 我可以做到这一点没有VBA,通过去“自定义function区”。 但是,我无法弄清楚如何通过VBA访问它。 几个小时以来,我一直在嘲笑我。 下面是我尝试过的一些代码示例。 我也尝试了其他几个代码,但是没有一个能够指向我想要的工具栏的方向。 我也张贴了一个问题的工具栏的图片。 我试图添加一个button:透视图工具 – >分析 – >数据。 该button将被分组在“数据”部分,与“更改源数据”和“刷新”处于同一级别。 感谢您的帮助。

Public Sub ListToolbars() 'Code used to attempt to pinpoint correct toolbar Dim cmdBar As CommandBar Dim cmdBarButton As CommandBarControl Dim lr As Long lr = 1 Set cmdBar = Application.CommandBars("Pivot Chart Popup") 'Loop through For Each cmdBarButton In cmdBar.Controls Cells(lr, 4).Value = cmdBarButton.Caption Cells(lr, 5).Value = cmdBarButton.ID Cells(lr, 6).Value = cmdBarButton.Type lr = lr + 1 Next cmdBarButton End Sub Public Sub BET_ShowCommandBarNames() 'Code used to identify all bars Dim cmdBar As CommandBar Dim lrownumber As Long Dim z As Integer Dim commandButton As CommandBarButton Dim popButton As CommandBarPopup Workbooks.Add lrownumber = 1 For Each cmdBar In CommandBars Range("A" & lrownumber).Value = cmdBar.Name Select Case cmdBar.Type Case msoBarTypeNormal Range("B" & lrownumber).Value = "Toolbar" If cmdBar.Name = "Borders" Then cmdBar.Visible = True Case msoBarTypeMenuBar Range("B" & lrownumber).Value = "Menu Bar" Case msoBarTypePopup Range("B" & lrownumber).Value = "zShortcut" End Select lrownumber = lrownumber + 1 Next cmdBar Columns("A:B").Select Columns("A:B").EntireColumn.AutoFit Range("A1").Select Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _ Key2:=Range("A1"), Order2:=xlAscending End Sub 

在这里输入图像说明

不幸的是,我不认为你可以添加一个button到一个内置的组。 所以你必须使用XML创build自己的自定义组。 尝试这样的事情…

 <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <contextualTabs> <tabSet idMso="TabSetPivotChartTools" > <tab idMso="TabPivotChartToolsAnalyze" > <group id="MyCustomGroup1" label="My Custom Group" insertAfterMso="GroupPivotChartData" > <button id="customButton1" label="Click Me" size="large" onAction="Macro1" imageMso="AppointmentColor3" supertip="This is a super tip..." /> </group> </tab> </tabSet> </contextualTabs> </ribbon> </customUI> 

希望这可以帮助!