Excel 隐藏/显示功能区上除自定义选项卡之外的所有选项卡

标签 excel vba ribbon

如何使用 VBA(而不是 XML)隐藏和显示所有标准 Excel 功能区选项卡。我不想隐藏整个功能区(正如此处所要求的: VBA minimize ribbon in Excel ),只是隐藏选项卡。我知道如何使用 XML 来使用 startFromScratch,因此请不要建议该解决方案或其他 XML 解决方案。

到目前为止,我已经进行了广泛的 Google 搜索并查看了:

我的意思是我已经进行了广泛的搜索并尝试了很多方法但没有得到结果。

最佳答案

How can I hide and show all the standard Excel ribbon tabs using VBA (not XML)

答案是“你不能”。

据我所知,使用 VBA 无法做到这一点。不幸的是,VBA 不公开选项卡。您拥有的唯一选项如下图所示

enter image description here

所以你可以使用commandbar、commandbarButton、commandbarComboBox 等...

您可以说Set cbar = Application.CommandBars("Ribbon"),但在那之后,您将面临的问题是如何获取选项卡的句柄。

使用 VBA 可以对功能区执行哪些操作:

  • 确定特定控件是否启用/可见/按下(切换框/复选框)
  • 获取控件的标签、屏幕提示或 super 提示 显示与控件关联的图像 控制。
  • 执行特定控件。

使用 VBA 不能对功能区执行哪些操作:

  • 确定当前选择的是哪个选项卡。
  • 激活特定选项卡。
  • 隐藏特定标签
  • 添加新标签。
  • 向选项卡添加新组。
  • 添加新控件。
  • 删除/禁用/隐藏控件。

但是,您可以使用 XML 来实现您想要的目的。例如

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab idMso="TabReview" visible="false" />
        </tabs>
    </ribbon>
</customUI>

但我猜您不想通过 XML 路由。

关于Excel 隐藏/显示功能区上除自定义选项卡之外的所有选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19967283/

相关文章:

excel - 使用VBA提取行地址的第一行号

Python、OpenOffice : Programmatically Manipulating spreadsheets

vba - GetObject 有时会生成新的 COM+/OLE 对象,而不是获取现有的对象

vb.net - 使用 VB.NET 将项目添加到功能区下拉列表

html - 如何使两边都具有 box-shadow 属性的阴影相等

vba - 找到最接近特定字符串的单词?

excel - 如何使用 vba 突出显示小数或字符小于 3 且大于 6 的单元格?

excel - 每当单元格 A1 中的日期发生更改时运行事件

vba - Excel 2010 VBA : How to store an array of worksheets as a variable?

user-interface - 企业产品的功能区 UI 用户指南或示例