VBA自动隐藏功能在Excel 2013中

Prz*_*min 10 excel vba excel-vba

如何Auto-hide Ribbon在Excel 2013中的VBA?我想通过点击下面图片中标有蓝色的Excel菜单右上角的上箭头图标,然后点击标有橙色的第一个选项,来获得我所得到的结果:

在此输入图像描述

我也有兴趣将VBA切换回第三种选择Show Tabs and Commands.对我来说重要的是在Excel菜单中保留上箭头图标(标有蓝色).

我尝试过这个帖子中显示的提示:VBA最小化Excel中的功能区 但我对结果不满意.

尝试1

Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"",False)
Run Code Online (Sandbox Code Playgroud)

这很好,但隐藏了蓝色图标.

尝试2

CommandBars.ExecuteMso "MinimizeRibbon"
Run Code Online (Sandbox Code Playgroud)

这接近我想要的.这会保留蓝色图标,但不会隐藏整个菜单.它切换到图片中显示的第二个选项Show Tabs.

尝试3

SendKeys "^{F1}"
Run Code Online (Sandbox Code Playgroud)

豁免根本不起作用.此外,它应该模仿尝试2.所以即便这样也不会让我满意.

Tye*_*ler 11

我看不出有其他人提起过这个...这不是一个解决方法,这是我认为你正在寻找的实际idMSO.这段代码使得我的excel窗口看起来像第一个选项所做的一样Auto-Hide Ribbon.

在代码运行之前,我的窗口看起来像这样,在"恢复"大小:

在此输入图像描述

运行以下代码:

Sub HideTheRibbon()
    CommandBars.ExecuteMso "HideRibbon"
End Sub
Run Code Online (Sandbox Code Playgroud)

在最大化的窗口大小中会使您的窗口看起来像这样(就像您Auto-Hide Ribbon手动按下按钮时会发生的那样):

在此输入图像描述

如果要在工作簿打开时自动隐藏功能区,请将其放在工作簿代码中:

Sub Workbook_Open()
    CommandBars.ExecuteMso "HideRibbon"
End Sub
Run Code Online (Sandbox Code Playgroud)

或者,为了实现相同的目的,您可以将此代码放在一个模块中:

Sub Auto_Open()
    CommandBars.ExecuteMso "HideRibbon"
End Sub
Run Code Online (Sandbox Code Playgroud)

如果您希望窗口恢复正常,则再次运行完全相同的代码.换句话说,当跑,因为idMSO"HideRibbon"是一个切换按钮下面的代码会使完全没有视觉变化:

Sub HideTheRibbon()
    CommandBars.ExecuteMso "HideRibbon"
    CommandBars.ExecuteMso "HideRibbon"
End Sub
Run Code Online (Sandbox Code Playgroud)

如果你想在Excel的所有idMSO的完整列表,单击适用于您的情况如下:Excel的2013+,Excel 2010中,Excel 2007中


Vit*_*ata 5

可能您应该做一些更复杂的事情:

使用CommandBars.ExecuteMso "MinimizeRibbon"显示/隐藏功能区。根据您的需要,您可以显示/隐藏功能区中的所有其他选项卡。例如,在此处使用某些代码-> Excel隐藏/显示功能区上的所有选项卡(自定义选项卡除外)

因此,需要2个步骤:

第1步-使用CommandBars.ExecuteMso显示或隐藏

第2步-使用链接中的一些宏显示或隐藏其余选项卡。

一个大的解决方法,但是您会得到想要的。


小智 5

我将此用于演示目的

ActiveWindow.DisplayGridlines =假

ActiveWindow.DisplayHeadings = False

Application.DisplayFormulaBar =假

Application.DisplayFullScreen = True这是我用来隐藏功能区的东西