如何使用 VBA(而不是 XML)隐藏和显示所有标准 Excel 功能区选项卡。我不想隐藏整个功能区(正如此处所要求的: VBA minimize ribbon in Excel ),只是隐藏选项卡。我知道如何使用 XML 来使用 startFromScratch,因此请不要建议该解决方案或其他 XML 解决方案。
到目前为止,我已经进行了广泛的 Google 搜索并查看了:
- http://msdn.microsoft.com/en-us/library/office/ee390805(v=office.11).aspx
- http://msdn.microsoft.com/en-us/library/microsoft.office.tools.ribbon.officeribbon.startfromscratch.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
- Customizing a ribbon with VBA in Excel
- Show Excel 2007 Ribbon in XLS file using Excel VBA
- Show Excel 2007 Ribbon in XLS file using Excel VBA
- Ribbon GUI Guidelines
- Excel CustomUI ribbon layout
- http://www.rondebruin.nl/win/s2/win012.htm
我的意思是我已经进行了广泛的搜索并尝试了很多方法但没有得到结果。
最佳答案
How can I hide and show all the standard Excel ribbon tabs using VBA (not XML)
答案是“你不能”。
据我所知,使用 VBA 无法做到这一点。不幸的是,VBA 不公开选项卡。您拥有的唯一选项如下图所示
所以你可以使用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/