Friend キーワード
フォーム モジュールまたはクラス モジュール内のプロシージャの定義を変更して、クラスの外部にあるが、クラスが定義されているプロジェクトの一部であるモジュールからプロシージャを呼び出し可能にします。 標準 モジュールではフレンド プロシージャを使用できません。
構文
[ Private | Friend | Public ] [ Static ] [ Sub | Function | Property ] procedurename
必須の procedurename は、プロジェクト全体で可視にされるプロシージャの名前ですが、クラスのコントローラーには不可視となります。
注釈
クラスのパブリック プロシージャは、クラスのインスタンスのコントローラーによっても、どこからでも呼び出すことができます。 プロシージャ Private を宣言すると、オブジェクトのコントローラーがプロシージャを呼び出すことはできなくなりますが、クラス自体が定義されているプロジェクト内からプロシージャが呼び出されるのも防ぎます。
Friend は、プロジェクト全体でプロシージャを表示しますが、オブジェクトのインスタンスのコントローラーには表示しません。 フレンド はフォーム モジュールとクラス モジュールにのみ表示でき、プロシージャ名のみを変更でき、 変数 や型は変更できません。 クラス内のプロシージャは、プロジェクト内の他のすべてのクラスの Friend プロシージャにアクセスできます。 フレンド プロシージャは、クラスの タイプ ライブラリ には表示されません。 Friend プロシージャを遅延バインドすることはできません。
例
クラス モジュールに配置すると、次のコードにより、メンバー変数 dblBalance にプロジェクト内のクラスのすべてのユーザーがアクセスできるようになります。 クラスの任意のユーザーが値を取得できます。その変数に値を割り当てることができるのは、プロジェクト内のコードだけです。
Private dblBalance As Double
Public Property Get Balance() As Double
Balance = dblBalance
End Property
Friend Property Let Balance(dblNewBalance As Double)
dblBalance = dblNewBalance
End Property
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。