プロパティ プロシージャを作成する
プロパティ プロシージャは、一連の Visual Basic ステートメントで、プログラマはこれを使用してカスタム プロパティの作成と操作ができます。
プロパティ プロシージャを使用して、フォーム、 標準モジュール、およびクラス モジュールの読み取り専用のプロパティを作成できます。
プロパティの値を設定する場合に実行する必要があるコードでは、プロパティ プロシージャをパブリック変数の代わりに使用してください。
Public 変数とは違い、Property プロシージャはオブジェクト ブラウザーでヘルプ文字列を割り当てることができます。
プロパティ プロシージャを作成すると、プロシージャを含むモジュールのプロパティになります。 Visual Basic は、次の3種類のプロパティ プロシージャを提供します。
プロシージャ | 説明 |
---|---|
Property Let | プロパティの値を設定するプロシージャ。 |
Property Get | プロパティの値を返すプロシージャ。 |
Property Set | オブジェクトに対する参照を設定するプロシージャ。 |
プロパティ プロシージャを宣言する構文は次のとおりです。
[ パブリック | Private ][ Static ] Property { Get | Let | Set } propertyname [( arguments )] [ Astype ] statementsEnd Property
通常、プロパティ プロシージャは次のペアで使用します: Property LetとProperty Get、そしてProperty SetとProperty Get。 Property Get プロシージャだけの宣言は、読み取り専用プロパティの宣言に似ています。 Variantだけはオブジェクトまたはその他のデータ型情報のどちらかを含むことができるため、3つすべてプロパティプロシージャ型を組み合わせて使用することは、Variant 変数にだけ役に立ちます。 Property Setは、Property Letではなく、オブジェクトと一緒に使うことを対象としています。
必要なプロパティ プロシージャ宣言の引数を次の表に示します。
プロシージャ | 宣言の構文 |
---|---|
Property Get | プロパティ Getpropname (1, ..., n) 型として |
Property Let | Property Letプロパティ名 (1, …,,,, n, n +1) |
Property Set | Property Setプロパティ名 (1, …, n, n +1) |
同じ名前のすべてのプロパティ プロシージャ内では、最後から2番目の引数 (1, …, n) を経由した最初の引数は、同じ名前とデータ型を共有する必要があります。
Property Get プロシージャの宣言は、関連するProperty Letと Property Set 宣言より小さい引数を使用します。 関連する Property LetとProperty Set 宣言内では、 Property Getプロシージャのデータ型は、最後の引数 (n +1) のデータ型と同じである必要があります。 たとえば、以下の Property Let プロシージャを宣言する場合、Property Get 宣言では、Property Let プロシージャの引数と同じ名前およびデータ型の引数を使用する必要があります。
Property Let Names(intX As Integer, intY As Integer, varZ As Variant)
' Statement here.
End Property
Property Get Names(intX As Integer, intY As Integer) As Variant
' Statement here.
End Property
Property Set 宣言の最後の引数のデータ型は、オブジェクト型またはバリアント型 (Variant) とする必要があります。
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。