2017-04-27 7 views
0

2つのボタンがあるワークシートがあります。最初のボタンはリボンを非アクティブ化し、2番目のボタンはリボンをアクティブにします。私は両方の機能を1つのボタンに組み合わせる必要があります。 コードサンプル:1つのボタンでリボンを有効または無効にするVBA EXCEL

Private Sub CommandButton1_Click() 
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 
    Application.DisplayFormulaBar = False 
    Application.DisplayStatusBar = Not Application.DisplayStatusBar 
    ActiveWindow.DisplayWorkbookTabs = False 
End Sub 

Private Sub CommandButton2_Click() 
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 
    Application.DisplayFormulaBar = True 
    Application.DisplayStatusBar = True 
    ActiveWindow.DisplayWorkbookTabs = True 
End Sub 

希望します。

+1

なぜActiveXトグルボタンを使用しないのですか?これは押されているかどうかに応じてTrue/False属性を持ちます! – MiguelH

+0

Excel文書を閉じると、トグルボタンはステータスを保存しますが、リボンには表示されません。 – Dmitry

答えて

1

リボンの実際の表示状態を最初に取得する必要があります。

Private Sub cmdToggleRibbon_Click() 
    Dim isRibbonVisible As Boolean 
    isRibbonVisible = Application.ExecuteExcel4Macro("Get.ToolBar(7,""Ribbon"")") 

    If isRibbonVisible Then 
     Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 
    Else 
     Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 
    End If 
    Application.DisplayFormulaBar = Not isRibbonVisible 
    Application.DisplayStatusBar = Not isRibbonVisible 
    ActiveWindow.DisplayWorkbookTabs = Not isRibbonVisible 
End Sub 
+0

はい、これは私が必要なものです。どうもありがとうございます。 – Dmitry