VBA从功能区Excel 2013中删除自定义工具栏

spe*_*s10 2 excel vba excel-vba

我已经设法在Excel上创建了一个自定义工具栏,我似乎无法在代码中或通过选项摆脱

我可以禁用功能区,但随后可以看到其他功能区自定义工具栏

在此输入图像描述

如何循环浏览加载项菜单的菜单选项并删除图像中看起来只是一个组?

Cin*_*ter 6

如果CommandBar打开包含自定义项的工作簿或将其作为加载项加载,则会显示"加载项功能区"选项卡.CommandBar是表示旧菜单和工具栏的VBA对象(2007之前/ pre Ribbon).

如果运行的代码使用CommandBar对象创建旧式菜单和工具栏,或者对Office应用程序中内置的现有菜单和工具栏添加控件,也会显示此选项卡.我记得,"自定义工具栏"组包含已定义的所有非内置工具栏(它们不会出现在单独的组中).

我的档案中有以下宏,用于循环应用程序中的所有CommandBar对象.如果它们不是内置的(随产品提供),则有关它们的信息将写入VBA编辑器立即窗口(Ctrl + G)并将其删除.内置命令栏将重置为安装默认值 - 默认值的更改也将显示在"加载项"选项卡中.

Sub DetermineNonBuiltinCommandBars()
    Dim cb As Office.CommandBar

    For Each cb In CommandBars
        If Not cb.BuiltIn Then
            Debug.Print cb.Context & ", " & cb.Name
            cb.Delete
        Else
            cb.Reset
        End If
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)