vbやvbaについての質問です。

Visual Basic153閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

あ、あと、「オブジェクトブラウザ」の「クラス」ペインのアイコンによりますと、 「クラス」には、オブジェクトだけではなくて列挙やモジュール、ユーザー定義の型、なども含まれていますので、 「クラス=オブジェクト」という断定は間違いかもしれないです。 アイコンの意味 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/icons-used-in-the-object-browser-and-code-windows 「クラス≒オブジェクト」にはなるのかもしれませんが、それも微妙です。よくわかってなくてすみません。

その他の回答(1件)

0

【相違点】 [クラスモジュール] 一つのクラスに対して複数のインスタンスを作成出来ます。 インスタンスを一つしか作らないクラスも作れます。 [フォームモジュール] フォームのロードとともにフォーム一つに対して一つのインスタンスが作成されます。明示的に New することも出来ますが New して作成したインスタンスとそうでないインスタンスのアクセス方法に相違点が生じるためこの方法はあまり使いません。 [シートモジュール] プログラムの開始とともにシート一つに対して一つのインスタンスが存在ます。インスタンスを明示的には作ることは出来ません。 [標準モジュール] インスタンスを作れません。 【共通点】 すべてのモジュールが定義しているのはクラスです。 標準モジュールのみ静的クラスです。 【主な用途】 ・UI をユーザーフォームで作成する →フォームモジュール+クラスモジュール ・UI をシートで作成する →シートモジュール+クラスモジュール ・シートのデータを読み書きする →シートモジュール or クラスモジュール ・プログラム全体で用いる定数を定義する →標準モジュール ・ユーティリティー関数 →標準モジュール、クラスモジュール(シングルトン) ・ビジネスロジック →クラスモジュール 【例】 社員一覧がシートにあり、ユーザーフォームを使って当該一覧から社員情報を検索、新規登録、編集を行うアプリを作りたい。 ユーザーフォームデザイン→フォームモジュール 社員情報→クラスモジュール 社員一覧からのデータ読み込み→シートモジュール 社員一覧へのデータ書き込み→シートモジュール ユーザーリクエストの受け取りと処理方法の決定→クラスモジュール 具体的な処理の流れを記述→クラスモジュール 例外ハンドリング→クラスモジュール 処理結果の受け取り→フォームモジュール インスタンスの管理→クラスモジュール 大まかにいうとこのような形です。

例の追記 社員一覧のカラムの番号などを定義→標準モジュール シート名の定義→標準モジュール ユーザーへ表示するメッセージ文言の定義→標準モジュール 追記として加えたくらいですので、極端なことを言えば標準モジュールを使わなくても作れます。 (定数の定義はした方が良いので使った方が良いですが) osa********さんへ Oh my gosh! 私への過大評価だと思いますが、お役に立てれば幸いです。 もし聞きたいことがあれば質問を立てていただければ回答します。 (今日明日であれば多分質問を発見できます)