Property Let


Property Letステートメント

構文

[Public|Private|Friend][Static] Property Let name ([arglist,] value)

Publicは省略可能です。すべてのモジュールのすべてのプロシージャから参照できるプロパティを宣言します。

Privateは省略可能です。Property Letを宣言したモジュール内でのみ参照できるプロパティを宣言します。

Friendは省略可能です。クラスモジュール内でのみ使用できます。プロジェクト全体からは参照できますが、インスタンスのコントロールからは参照できないプロパティを宣言します。

Staticは省略可能です。Property Let内のローカル変数の内容が保持されます。

nameには、宣言するプロパティの名前を指定します。

arglistは省略可能です。Property Letで宣言したプロパティを呼び出すときに引き渡す引数を指定します。

valueには、プロパティに代入する値を持つ変数名を指定します。

解説

Property Letは、プロパティの値を設定するプロシージャです。Propertyプロシージャで作成した新しいプロパティは、そのPropertyプロシージャが宣言されているモジュールのプロパティになります。

サンプル

次の例は、PropertyプロシージャでWhiteBackというプロパティを宣言します。WhiteBackプロパティは、フォームの背景色が白色の時Trueを返し灰色の時Falseを返します。値の取得と設定ができます。

Private NowWhiteBack As Boolean
Sub Sample()
    If UserForm1.WhiteBack Then
        MsgBox "背景は白色です"
        UserForm1.WhiteBack = False
    Else
        MsgBox "背景は灰色です"
        UserForm1.WhiteBack = True
    End If
End Sub
Property Let WhiteBack(x As Boolean)
    NowWhiteBack = x
    If NowWhiteBack Then
        UserForm1.BackColor = &HFFFFFF
    Else
        UserForm1.BackColor = &H8000000F
    End If
End Property
Property Get WhiteBack() As Boolean
    WhiteBack = NowWhiteBack
End Property