チェックボックスのプロパティ

このページではチェックボックスの Value プロパティについて解説します。

チェックボックスは “オン/オフ” や “有/無” など、2択から1つを選択するためのよく見かけるコントロールです。通常はコントロールを設置して Caption プロパティや Value プロパティの初期値を設定するだけなので、特に説明は不要でしょう。

ただ、チェックボックスはチェック状態でも未チェック状態でもない、”NULL状態”を表現することが可能ですので、このページで解説したいと思います。

スポンサーリンク

説明済みプロパティ

コントロールオブジェクトが異なるだけで前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。以下のリンク先をご覧になってください。

※説明の中に出てくるコントロールオブジェクトは適宜読み換えてください。

チェック状態の取得および設定(Value プロパティ)

チェック状態の取得および設定を行うには Value プロパティを使用します。True を設定することでチェック状態、False を設定することで未チェック状態にすることができます。

NULL状態にするにはプロパティウィンドウから設定する場合とコードから設定する場合で設定方法が異なります。プロパティウィンドウから設定する場合は Value プロパティをクリアします。コードから設定するには Value プロパティに NULL 値を設定します。

  • チェック状態
    チェック状態
  • 未チェック状態
    未チェック状態
  • NULL状態
    NULL状態

プロパティウィンドウでの設定

True/False を設定します。値をクリアするとNULL状態になります。

Value プロパティの値を設定
Value プロパティの値を設定

コードの記述例

'チェック状態に設定
CheckBox1.Value = True

'未チェック状態に設定
CheckBox1.Value = False

'NULL状態に設定
CheckBox1.Value = NULL

以下のコードは、コマンドボタンのクリックイベントでチェックボックスのチェック状態を表示する例です。NULL状態(NULL 値)の判定には IsNull関数 を使用します。

Private Sub CommandButton1_Click()
    With CheckBox1
        If IsNull(.Value) Then
            MsgBox "NULL状態(NULL値)"
        ElseIf .Value Then
            MsgBox "チェック状態"
        Else
            MsgBox "未チェック状態"
        End If
    End With
End Sub

 Withステートメント MsgBox関数 IsNull関数

NULL状態の使用用途

上記では Value プロパティに NULL 値を設定することで、NULL状態にできることを説明しましたが、どういう場合にこのNULL状態を使うのかを簡単な例を挙げて説明します。

健康診断のアンケートで喫煙するかどうかを問う

喫煙するか否かを問うためにチェックボックスを設置した場合を考えます。初期状態で Value プロパティは False に設定されているものとします。

未チェック状態

このようにしてしまうと、チェックされていない場合にそれが単に非喫煙者なのか、喫煙者がただチェックをし忘れたのかが判別できません。特にアンケートなどチェック項目が多くなると、チェック項目を見落としてしまう可能性は高くなります。

このような場合に初期状態として”NULL状態(NULL値)”を設定しておきます。

NULL状態

そして、アンケートを終了するときに NULL 値かどうかチェックすることで、ユーザーのチェック漏れを防ぐことができます。

Nullチェックの例

If IsNull(CheckBox1.Value) Then
    MsgBox "『喫煙』項目がチェックされていません。", vbExclamation
End If

表示結果

チェック漏れ
チェック漏れ

 各コントロールの概要

タイトルとURLをコピーしました