情報関連 Property_Letステートメントプロパティに値を設定

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。


'Property Let プロシージャの名前、引数、およびプロシージャの本体を構成するコードを宣言します。Property Let プロシージャは、プロパティに値を設定します。
'
'構文
'
'[Public | Private | Friend] [Static] Property Let name ([arglist,] value)
'[statements]
'[Exit Property]
'[statements]


'Property Let ステートメントの構文は、次の指定項目から構成されます。
'
'指定項目
'Public
'Private
'Friend
'Static
'name
'arglist
'Value
'statements
'
'引数 arglist は、次の形式で指定します。
'
'[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]
'
'指定項目
'Optional
'ByVal
'ByRef
'ParamArray
'varname
'type
'defaultvalue
'
'メモ Property Let ステートメントを使って定義するプロシージャには、引数が少なくとも 1 つは必要です。この引数 (引数が 2 つ以上ある場合は一番最後の引数) には、Property Let ステートメントによって定義されるプロシージャが呼び出されたときに、プロパティに設定される実際の値が設定されます。この引数は、上記の構文の引数 value として参照されます。
'
'解説
'
'キーワード PublicPrivate、または Friend を用いて明示的に指定しない場合、Property プロシージャは、パブリック プロシージャになります。キーワード Static を指定しない場合、ローカル変数の値は、Property プロシージャの実行が終了すると破棄されます。キーワード Friend は、クラス モジュール内でのみ使えます。ただし、Friend を指定したプロシージャは、プロジェクト内のすべてのモジュールのプロシージャから呼び出せます。Friend を指定したプロシージャは、親クラスのタイプ ライブラリには書き込まれません。また、実行時バインディングは行えません。
'
'実行可能なコードは、すべてプロシージャ内に記述する必要があります。また、Property Let プロシージャは、ほかの Property プロシージャ、Sub プロシージャ、Function プロシージャの中では定義できません。
'
'Exit Property ステートメントは、Property Let プロシージャを直ちに終了させます。プログラムの実行は、その Property Let プロシージャを呼び出したステートメントの次のステートメントから続行されます。Exit Property ステートメントは、Property Let プロシージャ内の任意の場所に、必要に応じていくつでも記述できます。
'
'Function プロシージャおよび Property Get プロシージャと同様に、Property Let プロシージャは、引数を受け取り、一連のステートメントを実行して、引数の値を変更できる独立したプロシージャです。ただし、値を返す Function プロシージャまたは Property Get プロシージャとは異なり、Property Get プロシージャは値を返さないため、プロパティの値を設定する式または Let ステートメントの左辺にしか記述できません。
'
'Property Let ステートメントの使用例
'
'次の例では、Property Let ステートメントを使って、プロパティに値を代入するプロシージャを定義します。プロパティの値は描画パッケージのペンの色を示します。

Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

' 描画パッケージのペン色を指定するプロパティを設定します。
' モジュール レベル変数 CurrentColor には、
' 描画に用いられる色を指定する数値が設定されます。
Property Let PenColor(ColorName As String)
    Select Case ColorName        ' 色の名前を調べます。
        Case "Red"
            CurrentColor = RED    ' 赤に対応する値を代入します。
        Case "Green"
            CurrentColor = GREEN    ' 緑に対応する値を代入します。
        Case "Blue"
            CurrentColor = BLUE    ' 青に対応する値を代入します。
        Case Else
            CurrentColor = BLACK    ' 既定値を代入します。
    End Select
End Property

' 次のコードでは、Property Let プロシージャを呼び出して
' 描画パッケージの PenColor プロパティの値を設定します。

PenColor = "Red"

 

2000年01月01日|[VBサンプルコード]:[情報関連]