9

VBAでExcel 2013のリボンを最小化したい。リボンを切り替えたり、「ファイル」、「挿入」などをすべて非表示にしたりしたくありません。いくつかの方法を試しましたが、満足できるものはありませんでした。

これはすべてを隠します:

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

これはトグルします:

CommandBars.ExecuteMso "MinimizeRibbon"

これもトグルします:

SendKeys "^{F1}"

リボンを強制的に最小化するにはどうすればよいですか?

4

4 に答える 4

9

リボンの高さを測定し、切り替え、再度測定し、高ければ再度切り替えます。また、Application.Screenupdating = false を設定することをお勧めします。

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

そして、なぜ自分がしたいことをしたいのかという人々の質問が嫌いです。私は独裁者アプリを持っており、Excel とのやり取りを 100% 制御する必要があります。

于 2014-08-10T15:11:30.183 に答える
7

これをいつ呼び出そうとしているかはわかりませんが、リボンが開いている場合はリボンを最小化するために機能します

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

開いているリボンの最小サイズは 150 のように見えるため、開いている場合にのみ切り替えられます

于 2013-09-26T19:31:55.563 に答える