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

标签 vba excel

我以某种方式设法在 Excel 上创建了一个自定义工具栏,但我似乎无法在代码中或通过选项摆脱它

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

enter image description here

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

最佳答案

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

如果运行的代码使用 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

关于VBA 从功能区中删除自定义工具栏 Excel 2013,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35866915/

相关文章:

vba - 使用 Word VBA 自动化 Excel,我收到运行时错误 '13' : Type mismatch when using the . 查找函数

vba - 如何向合并的Word表格添加行?

vba - 表保护: UserInterFaceOnly gone

vba - 使用 Excel VBA 循环浏览文件夹中的 .csv 文件并将文件名复制到最后一列的单元格中

excel - 如何防止粘贴到多列中?

vba - 过滤范围内的条件计数

java - 如何将日期值设置到单元格中

excel - 在Excel中将文本左右对齐?

python - 通过 Django View 生成 CSV

excel - VBA 过滤和计数值