[ Excel-VBA ] リボンの表示・非表示を切り替える ( Application.ExecuteExcel4Macro )

Pocket

ここでは、VBA でエクセルのリボンメニューの表示・非表示を切り替えるサンプルスクリプトを掲載しています。動作確認はExcel 2010 で行っています。未検証ですが、Excel 2007 以降であれば動作するものと思います。

スポンサーリンク

以下のサンプル画面を使用して動作確認を行います。

リボンを表示している

リボンメニューを表示している状態

サンプルスクリプト

'
' リボン非表示イベントハンドラ
'
Private Sub CommandButton1_Click()
    
    ' リボンを非表示にする
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)"

End Sub

'
' リボン表示イベントハンドラ
'
Private Sub CommandButton2_Click()
    
    'リボンを表示する
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)"

End Sub

リボンを非表示にした結果

リボンが非表示となり、手動で表示させることができなくなります。

リボンメニュー非表示

リボンメニュー非表示

2017-06-30 追記:

なお、上記のVBAを使用してリボンを非表示にした場合は、次のように手動でリボンの表示・非表示の切替を行うことは出来なくなります。(イメージはExcel2013)

社内ツールなどであれば、この動作を期待する場合が多いのではないかと思います。

手動でリボンの表示切替

2017-07-12 追記:

リボンを最小化する(手動での切り替え可)

リボンを非表示にして使えなくするのではなく、手動で表示・非表示を切り替えるようにするのであれば、次のマクロでリボンを最小化することができます。
ただし、本マクロは Excel2010 以降で使用できます。残念ながら Excel2007 では動作しません。

    ' リボンが最小化されているか確認
    If Application.CommandBars.GetPressedMso("MinimizeRibbon") = False Then
        ' 最小化でなければ、最小化する
        Application.CommandBars.ExecuteMso "MinimizeRibbon"
    End If

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *