Property プロシージャ
Property プロシージャは、変数やクラスのプロパティ(オブジェクトを含む)に対して、値の設定や取得を行います。通常、Property Get ステートメント と Property Let ステートメント または、Property Get ステートメント と Property Set ステートメント をペアで定義します。
Property Get ステートメント
Property Get ステートメントは、変数やクラスのプロパティの値を取得します。
[ access_level ] [ Static ] Property Get name [ ( arglist ) ]
[ statements ]
[ Exit Property ]
[ statements ]
End Property
項目の説明
- access_level ・・・ プロシージャを利用できる範囲を指定します。Public・Private・Friend の3種類があります。省略するとPublic を指定した場合と同じになります。
- name ・・・ 定義する Property Get プロシージャの名前を指定します。
- arglist ・・・ Property Get プロシージャが呼び出される時に、Property Get プロシージャに渡される引数を表す変数のリストを指定します。複数の変数を指定する場合はカンマ(,)で区切ります。この時、対応する Property Let プロシージャ や Property Set プロシージャ がある場合、同じ名前と数の arglist を指定します。arglist は省略可能です。
- statements ・・・ 実行される一連のステートメントを指定します。
access_level(Public・Private・Friend) の詳細:
Public:すべてのモジュールのすべてのプロシージャから使用することができます。
Private:同一モジュール内からのみ使用可能です。
Friend:プロジェクト内からは呼び出せますが、オブジェクトのインスタンスのコントローラからは呼び出せません。キーワード Friend は、フォームモジュールおよびクラスモジュールでのみ記述可能です。
Static
プロシージャ内のローカル変数が、次に呼び出されるまでその値を保持します。(省略可)
Exit Property ステートメント:
Property プロシージャを直ちに終了します。Exit Property ステートメントは、Property プロシージャ内の任意の場所で必要に応じていくつでも指定できます。
Property Get ステートメント 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Property Get GetTime(Optional Types As String = "DateTime") As Date Select Case LCase(Types) Case "date": GetTime = Date Case "time": GetTime = Time Case Else: GetTime = Now End Select End Property |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Sample_PropertyGet() Dim cc As New Class3 MsgBox cc.GetTime & Chr(13) & _ cc.GetTime("Date") & Chr(13) & _ cc.GetTime("Time") Set cc = Nothing End Sub |