Home > 即効テクニック > Excel VBA > メニューバー・ツールバー関連のテクニック > コマンドバーボタンのオン/オフを切り替える

即効テクニック

メニューバー・ツールバー関連のテクニック

コマンドバーボタンのオン/オフを切り替える

(Excel 2000)
指定したコマンドバーボタンのチェックがオンにされた状態をオフにされた状態とを切り替えます。定数msoButtonDownでチェックがオンにされた状態、定数msoButtonUpでチェックがオフにされた状態となります。

  構文  Object.State     設定/取得


  設定項目        内容
  Object          CommandBarButtonオブジェクト [省略不可]

次のサンプル1は対象のツールバーボタンのオン/オフを切り替えます。

●サンプル1●
Sub StateSamp1()
    Dim myCBCtrl As CommandBarButton

    Set myCBCtrl = CommandBars("Sample").Controls(1)
    If myCBCtrl.State = msoButtonDown Then
       myCBCtrl.State = msoButtonUp
       MsgBox "ボタンをオフにしました"
    Else
        myCBCtrl.State = msoButtonDown
        MsgBox "ボタンをオンにしました"
    End If

End Sub

メニュー項目の中に入れられたツールバーボタンで、イメージが設定されていない場合には、オンの状態のときにチェックマークが付きます。
次のサンプル2を参照してください

●サンプル2●
Sub StateSamp2()
    Dim myCBCtrl As CommandBarButton

    Set myCBCtrl = CommandBars("Sample").Controls("CheckMark") _
        .Controls(1)
    If myCBCtrl.State = msoButtonDown Then
         myCBCtrl.State = msoButtonUp
         MsgBox "チェックマークをオフにしました"
    Else
         myCBCtrl.State = msoButtonDown
         MsgBox "チェックマークをオンにしました"
    End If
End Sub