如何使用VBA (而不是XML)隐藏和显示所有标准Excel带状选项卡。我不想隐藏整个丝带(如这里要求:VBA minimize ribbon in Excel),只是标签。我知道如何使用startFromScratch,所以请不要建议其他的XML解决方案。
到目前为止,我已经做了一个广泛的谷歌搜索,并查看了:
我的意思是,我已经做了一个广泛的搜索,并尝试了许多事情,但没有得到结果。
发布于 2013-11-14 05:13:48
如何使用VBA (而不是XML)隐藏和显示所有标准Excel带状选项卡
答案是“您不能”。
AFAIK,你不能用VBA做这个。不幸的是,VBA没有公开选项卡。您所拥有的唯一选项如下图所示
所以你可以用命令栏,commandbarButton,commandbarComboBox等.
您可以说是Set cbar = Application.CommandBars("Ribbon")
,但在此之后,您将面临的问题是如何获得选项卡的句柄。
您可以使用VBA:对带做什么?
您不能使用VBA:处理带的事情
但是,您可以使用XML来实现您想要的结果。例如
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab idMso="TabReview" visible="false" />
</tabs>
</ribbon>
</customUI>
但是,我想您不想通过XML路由。
发布于 2016-07-21 14:55:12
您确实可以使用VBA隐藏/显示色带。下面是一个示例:
<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>
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
提示:在编辑XML带状文件之前,一定要关闭包含正在编辑的带状的Excel工作簿。我发现它有时会擦除我的VBA代码(我不知道为什么,它只是擦去了)。
发布于 2014-03-25 09:29:08
激活特定选项卡
在Microsoft 2010中,使用ActivateTab对象的IRibbonUI方法激活自定义选项卡 ActivateTabMso方法用于内置选项卡,ActivateTabQ用于多个外接程序之间共享的选项卡。 ActivateTabQ还需要额外的字符串类型参数,该参数指定外接程序的命名空间。
在XML中指定
customUI onLoad="RibbonOnLoad" xmlns=etc
在VBA中
Public gRibbonUI As IRibbonUI
Sub RibbonOnLoad(ribbon As IRibbonUI)
Set gRibbonUI = ribbon
End Sub
然后在代码中
gRibbonUI.ActivateTab "MyTabID"
gRibbonUI.ActivateTabMso "TabHome"
https://stackoverflow.com/questions/19967283
复制相似问题