HasModule プロパティを使用して、フォームまたはレポートにクラス モジュールがあるかどうかを指定または決定します。 値の取得と設定が可能なブール型 (Boolean) の値です。
構文
式。HasModule
式: Report オブジェクトを表す変数。
解説
"HasModule/コード保持" プロパティの設定値は次のとおりです。
| Setting | Visual Basic | 説明 |
|---|---|---|
| はい | True | フォームまたはレポートにクラス モジュールがあります。 |
| No/いいえ | False | フォームまたはレポートにクラス モジュールがありません。(既定値) |
このプロパティを False に設定すると、処理効率を向上させ、データベースのサイズを小さくすることができます。
" HasModule /コード保持" プロパティは、フォームのデザイン ビューまたはレポートのデザイン ビューでのみ設定でき、すべてのビューで値の取得が可能です。
" HasModule /コード保持" プロパティが [No/いいえ] に設定されたフォームまたはレポートは、軽いオブジェクトと見なされます。 軽いオブジェクトは、クラス モジュールに関連するオブジェクトよりも小さく、通常は速く読み込まれ、速く表示されます。 多くの場合、フォームまたはレポートでイベント プロシージャを使う必要はなく、クラス モジュールは必要ありません。
アプリケーション内で他のフォームに移動する目的でメニュー フォームを使う場合は、イベント プロシージャ付きのコマンド ボタンの代わりにマクロまたはハイパーリンク付きのコマンド ボタンを使うことができます。 たとえば、交換局のコマンド ボタンから [従業員] フォームを開くには、コントロールの HyperlinkSubAddress プロパティを "従業員フォーム" に設定します。
軽いオブジェクトはオブジェクト ブラウザーに表示されることはなく、また、オブジェクトの新規インスタンスを作成する目的でキーワード New を使うことはできません。 軽いフォームまたはレポートは、サブフォームまたはサブレポートとしても使うことができ、 Forms または Reports コレクションの中に入ります。 軽量オブジェクトでは、標準モジュールに存在するマクロおよびパブリック プロシージャがオブジェクトのプロパティ シートから呼び出されるときに使用できます。
オブジェクトのモジュールを表示しようとすると、モジュールに実際はコードがない場合でも、" HasModule /コード保持" プロパティが True に設定されます。 たとえば、デザイン ビューのフォームに対し、[ 表示 ] メニューの [ コード ] をクリックすると、 Form オブジェクトにクラス モジュールが追加され、その " HasModule /コード保持" プロパティが True に設定されます。 オブジェクトのプロパティ シートで " HasModule /コード保持" プロパティを [Yes/はい] に設定して、同じ方法でオブジェクトにクラス モジュールを追加できます。
オブジェクトのプロパティ シートを使って " HasModule /コード保持" プロパティを [No/いいえ] に設定するか、または Visual Basic で False に設定する場合、オブジェクトのクラス モジュールおよびその中のすべてのコードが削除されます。
Module オブジェクトのメソッドを使ったり、デザイン ビューでフォームまたはレポートの Module プロパティを参照したりすると、関連するモジュールが作成され、オブジェクトの " HasModule /コード保持" プロパティが True に設定されます。 実行時にフォームまたはレポートの Module プロパティを参照し、オブジェクトの " HasModule /コード保持" プロパティを False に設定した場合はエラーが発生します。
CreateForm または CreateReport メソッドを使って作成されたオブジェクトは、既定では軽いオブジェクトです。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。