このページではトグルボタンの Value プロパティについて解説します。
トグルボタンはコマンドボタンと異なり、1度押すと凹んだ状態を維持します。再度押すと元の凸状態にもどります。凹んだ状態のときに、トグルボタン上のテキスト(Captionプロパティ)や背景色(BackColorプロパティ)を変更し、ON/OFF をわかりやすくするとよいでしょう。
説明済みプロパティ
コントロールオブジェクトが異なるだけで前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。以下のリンク先をご覧になってください。
※説明の中に出てくるコントロールオブジェクトは適宜読み換えてください。
ボタン押下状態の取得および設定(Value プロパティ)
ボタン押下状態の取得および設定を行うには Value プロパティを使用します。True を設定することで押された(凹)状態、False を設定することで押された(凸)状態にすることができます。
- 押されていない状態(Value プロパティが False)

- 押された状態(Value プロパティが True)

プロパティウィンドウでの設定
True / False を設定します。

コードの記述例1
'押された(凹)状態に設定 ToggleButton1.Value = True '押されていない(凸)状態に設定 ToggleButton1.Value = False
コードの記述例2
以下のコードは、トグルボタンのクリックイベントで、トグルボタンの状態により、Caption の変更とメッセージを表示する例です。
フォームにはトグルボタン1つ(ToggleButton1)だけ設置した状態で、トグルボタンの初期値として、Caption に”OFF”、Value に False を設定しておきます。


Private Sub ToggleButton1_Click()
With ToggleButton1
If .Value Then
'トグルボタンONの処理
.Caption = "ON"
MsgBox "トグルボタンがONになりました。", vbInformation
Else
'トグルボタンOFFの処理
.Caption = "OFF"
MsgBox "トグルボタンがOFFになりました。", vbInformation
End If
End With
End Sub
表示結果
トグルボタンを押下すると、以下のメッセージが表示されます。


再度トグルボタンを押下すると、以下のメッセージが表示されます。


コードの記述例3
前述のフォームにコマンドボタン(CommandButton1)を追加し、このコマンドボタンによりトグルボタンのON/OFFを切り替えてみましょう。

Private Sub CommandButton1_Click()
'トグルボタンの押下状態反転
ToggleButton1.Value = Not ToggleButton1.Value
End Sub
Private Sub ToggleButton1_Click()
With ToggleButton1
If .Value Then
'トグルボタンONの処理
.Caption = "ON"
MsgBox "トグルボタンがONになりました。", vbInformation
Else
'トグルボタンOFFの処理
.Caption = "OFF"
MsgBox "トグルボタンがOFFになりました。", vbInformation
End If
End With
End Sub
切替ボタンを押下します。

すると、以下のメッセージボックスが表示され、上段のトグルボタンが押された状態(Captionも”ON”)になります。


再度、切替ボタンを押下します。

すると、以下のメッセージボックスが表示され、上段のトグルボタンが押さてない状態(Captionも”OFF”)に戻ります。


クリックイベントの自動発生
コマンドボタンのクリックイベントにはトグルボタンの Value 値を反転させるコードしか記述していません。それにもかかわらず、コマンドボタンを押しただけで、トグルボタンの Caption が変更され、また、変更のメッセージも表示されました。これはトグルボタンの Value プロパティを変更することで、そのクリックイベントが自動的に発生したためと考えられます。