首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel隐藏/显示除自定义选项卡外的所有选项卡

Excel隐藏/显示除自定义选项卡外的所有选项卡
EN

Stack Overflow用户
提问于 2013-11-14 00:32:06
回答 5查看 44.1K关注 0票数 11

如何使用VBA (而不是XML)隐藏和显示所有标准Excel带状选项卡。我不想隐藏整个丝带(如这里要求:VBA minimize ribbon in Excel),只是标签。我知道如何使用startFromScratch,所以请不要建议其他的XML解决方案。

到目前为止,我已经做了一个广泛的谷歌搜索,并查看了:

我的意思是,我已经做了一个广泛的搜索,并尝试了许多事情,但没有得到结果。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-11-14 05:13:48

如何使用VBA (而不是XML)隐藏和显示所有标准Excel带状选项卡

答案是“您不能”。

AFAIK,你不能用VBA做这个。不幸的是,VBA没有公开选项卡。您所拥有的唯一选项如下图所示

所以你可以用命令栏,commandbarButton,commandbarComboBox等.

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

您可以使用VBA:对带做什么?

  • 确定特定控件是否为Enabled/Visible/Pressed(Toggleboxes/CheckBoxes)
  • 获取控件的标签、屏幕提示或超级提示,显示与控件关联的图像。
  • 执行特定的控件。

您不能使用VBA:处理带的事情

  • 确定当前选择的选项卡。
  • 激活特定的选项卡。
  • 隐藏特定选项卡
  • 添加一个新选项卡。
  • 将一个新组添加到选项卡中。
  • 添加一个新控件。
  • 删除/禁用/隐藏控件。

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

代码语言:javascript
运行
复制
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab idMso="TabReview" visible="false" />
        </tabs>
    </ribbon>
</customUI>

但是,我想您不想通过XML路由。

票数 11
EN

Stack Overflow用户

发布于 2016-07-21 14:55:12

您确实可以使用VBA隐藏/显示色带。下面是一个示例:

代码语言:javascript
运行
复制
<ribbon startFromScratch="false">
  <tabs>
  <!-- EXCEL BUILT-IN TABS -->
    <tab idMso="TabDeveloper" getVisible="GetVisible">
	  <group idMso="GroupCode" visible="true"/>
	  <group idMso="GroupAddins" visible="true"/>
	  <group idMso="GroupControls" visible="true"/>
	  <group idMso="GroupXml" visible="true"/>
	  <group idMso="GroupModify" visible="true"/>
	</tab>
  </tabs>
</ribbon>

  1. 设置XML文件。

  1. 设置您的VBA脚本。Sub GetVisible(control As IRibbonControl, ByRef MakeVisible) Select Case control.ID Case "TabDeveloper": MakeVisible = True Case "TabHome": MakeVisible = True Case "TabInsert": MakeVisible = True Case "TabPageLayoutExcel": MakeVisible = True Case "TabFormulas": MakeVisible = True Case "TabData": MakeVisible = True Case "TabReview": MakeVisible = True Case "TabView": MakeVisible = True Case "TabAddIns": MakeVisible = True Case "TabBackgroundRemoval": MakeVisible = True End Sub
  2. 下载此文件以获取MS Office的控制ID列表。http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=6627

提示:在编辑XML带状文件之前,一定要关闭包含正在编辑的带状的Excel工作簿。我发现它有时会擦除我的VBA代码(我不知道为什么,它只是擦去了)。

票数 8
EN

Stack Overflow用户

发布于 2014-03-25 09:29:08

激活特定选项卡

在Microsoft 2010中,使用ActivateTab对象的IRibbonUI方法激活自定义选项卡 ActivateTabMso方法用于内置选项卡,ActivateTabQ用于多个外接程序之间共享的选项卡。 ActivateTabQ还需要额外的字符串类型参数,该参数指定外接程序的命名空间。

在XML中指定

代码语言:javascript
运行
复制
customUI onLoad="RibbonOnLoad" xmlns=etc

在VBA中

代码语言:javascript
运行
复制
Public gRibbonUI As IRibbonUI 

Sub RibbonOnLoad(ribbon As IRibbonUI)

   Set gRibbonUI = ribbon

End Sub

然后在代码中

代码语言:javascript
运行
复制
gRibbonUI.ActivateTab "MyTabID"

gRibbonUI.ActivateTabMso "TabHome"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19967283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档