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 のサポートおよびフィードバックを参照してください。