如何使用VBA(而不是XML)隐藏和显示所有标准Excel功能区选项卡。我不想隐藏整个功能区(如此处所示:VBA minimize ribbon in Excel)只是标签。我知道如何使用XML使用startFromScratch,所以请不要建议使用XML或其他XML解决方案。
到目前为止,我已经进行了广泛的Google搜索并查看了:
我所说的是我已经做了大量的搜索并尝试了许多事情而没有得到结果。
答案 0 :(得分:11)
如何使用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 Route。
答案 1 :(得分:5)
您确实可以使用VBA隐藏/显示色带。这是一个例子:
NullReferenceException
设置XML文件。
设置您的VBA脚本。
contentView
提示:在编辑XML功能区文件之前,请务必关闭包含您正在编辑的功能区的Excel工作簿。我发现它有时会删除我的VBA代码(我不知道为什么,它就是这样)。
答案 2 :(得分:4)
激活特定标签
在Microsoft Office 2010中,您可以使用以下命令激活自定义选项卡 IRibbonUI对象的ActivateTab方法
您使用ActivateTabMso 内置选项卡的方法和ActivateTabQ之间共享的选项卡 多个加载项。
ActivateTabQ还需要额外的 String-type参数,指定加载项的命名空间
在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"
答案 3 :(得分:3)
首先,打开要隐藏功能区选项卡的Excel工作表,然后按 Alt + F11 。插入新代码模块并添加以下代码:
Private Sub hide()
Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"",False)
End sub
答案 4 :(得分:1)
您可以在XML上使用这些:
&LT; ribbon startFromScratch =&#34; true&#34; &GT;
检查此链接:
答案 5 :(得分:0)
尝试使用我测试的Excel for XML:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabHome" visible="false" />
<tab idMso="TabInsert" visible="false" />
<tab idMso="TabFormulas" visible="false" />
<tab idMso="TabData" visible="false" />
<tab idMso="TabReview" visible="false" />
<tab idMso="TabView" visible="false" />
<tab idMso="TabDeveloper" visible="false" />
</tabs>
</ribbon>
</customUI>