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