VBA将Excel中的function区最小化

我想用VBA将Excel 2013中的function区最小化。 我不想切换function区,我不想隐藏所有包括“文件”,“插入”等。我已经尝试了几种不同的方法,但没有满足我想要的。

这隐藏了一切:

Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"",False) 

这切换:

 CommandBars.ExecuteMso "MinimizeRibbon" 

这也切换:

 SendKeys "^{F1}" 

我如何简单地强制我的丝带被最小化?

不知道什么时候你试图打电话给这个,但是如果它打开的话,这个function可以最小化function

 If Application.CommandBars("Ribbon").Height >= 150 Then SendKeys "^{F1}" End If 

打开色带的最小尺寸似乎是150,所以这只会打开时才会切换

测量色带高度,切换,再次测量,如果更高,重新切换。 最好也设置Application.Screenupdating = false。

 ht1 = Application.CommandBars("Ribbon").Height SendKeys "^{F1}", False DoEvents ht2 = Application.CommandBars("Ribbon").Height If ht2 > ht1 Then SendKeys "^{F1}", False 

当人们质疑你为什么要做你想做的事时,我真的很讨厌它。 我有一个独裁者应用程序,需要100%的控制与Excel的交互。

如果希望在打开工作簿时将其完全隐藏,请将其添加到工作簿代码中:

 Private Sub Workbook_Open() Application.ExecuteExcel4Macro "show.toolbar(""Ribbon"",False)" End Sub