モジュールについて

注意事項

1、クラスメソッドとインスタンスメソッド、クラスフィールドとインスタンスフィールドとは
2、インスタンスメソッドとインスタンスフィールドの実装方法
3、クラスメソッドとクラスフィールドの実装方法
4、クラスモジュールについて
5、フォームモジュールについて
6、標準モジュールについて
7、参考文献

1、クラスメソッドとインスタンスメソッド、クラスフィールドとインスタンスフィールドとは

1−1、インスタンスメソッドとは

 オブジェクトに対して何らかの操作をするメソッドの事です。
 使用例(赤字の部分):
Sub test()
    Dim r As Range
    Set r = ActiveSheet.Range("A1")
    Call r.Activate ' 変数rが指し示しているオブジェクトに対してActivateメソッドを実行する
End Sub

1−2、クラスメソッドとは

 以下のようなものを作るときはクラスメソッドになると思う。

1−3、インスタンスフィールドとは

 オブジェクトの属性値。
 通常、アクセス範囲をPrivateにして宣言する。インスタンスフィールドに対して参照や更新をさせたい時はProperty Get/Let/Setプロシージャを使う。

1−4、クラスフィールドとは

 以下のようなものを作るときはクラスフィールドになると思う。
このページのトップへ


2、インスタンスメソッドとインスタンスフィールドの実装方法

 VBAではクラスモジュール、フォームモジュールに定義したメソッド・フィールドはすべてインスタンスメソッド・インスタンスフィールドとなる。

このページのトップへ


3、クラスメソッドとクラスフィールドの実装方法

 標準モジュールに定義したメソッド・フィールドはすべてクラスメソッド・クラスフィールドと見なしていい、とだるまは考えている。
 ※Javaであればメソッド・フィールドを宣言するときにstatic修飾子をつければ、そのメソッド・フィールドはクラスメソッド・ク ラスフィールドとなるけど、VBAでStaticをつけてもクラスメソッド、クラスフィールドにはならない。非常に困る。
このページのトップへ


4、クラスモジュールについて

 クラスを作れる。
 だるまは、クラス名は"cls"を頭に付けたものとするようにしている。(昔はそうでは無かったけど、今はそうしている。)
 主な特徴:

このページのトップへ


5、フォームモジュールについて

 ダイアログを作りたいときに作るクラスで、多分MSFormsライブラリのUserFormクラスを継承していると思う。
 だるまは、クラス名は"frm"を頭に付けたものとするようにしている。(昔はそうでは無かったけど、忘れていなければ今はそうしている。)
 主な特徴:
このページのトップへ

6、標準モジュールについて

 だるまは、クラス名は"mdl"か"utl"を頭に付けたものとするようにしている。(昔はそうでは無かったけど、忘れていなければ今はそうしてい る。)
 クラスモジュールとフォームモジュールはクラスメソッド・クラスフィールドが作れないので、だるまは標準モジュールで実装することにしている。

 主な特徴:
このページのトップへ

7、参考文献

リンクしている箇所は別ウインドウが開きます
このページのトップへ