【VBA】クラスモジュールの活用

1. クラスモジュールの本質と活用目的

2. 基本構造とPropertyの使い方

  • Property Get / Let / Set の違いと使いどころ
  • 値型(数値・文字列)とオブジェクト型(Collection/Dictionary)の使い分け
  • 外部からアクセス制御する:Private変数 + Publicプロパティ
  • クラスでイベントを扱う(WithEvents)

3. Dictionaryを使った動的な値管理

  • 固定プロパティでは表現しきれない「可変データ」の扱い
  • Dictionaryを内部に保持し、柔軟にキー・値を追加できる構造
  • Item(key) のラップとして Property Get/Let を活用する方法

4. クラスの初期化・破棄と隠れた落とし穴

  • クラスのインスタンス化方法の違い
  • Class_Initialize で初期状態を整える
  • Class_Terminate で参照破棄とメモリ解放
  • クラスのインスタンスをCollectionに格納する設計パターン
  • 複数オブジェクトを動的に生成・保持・操作する構造

5. 実用設計パターンと応用例

  • 【例1】行データ1件をクラスで表現 → シート1行とのマッピング
  • 【例2】検索可能なデータベース風構造(IDをキーとするDictionary + クラス)
  • 【例3】複数条件によるフィルタリングやグルーピングの実装例
  • 【例4】ユーザー定義クラス + JSONとの連携(応用編)

6. 補足・開発設計の指針

  • クラス設計でありがちなアンチパターン(何でも1つに詰め込む)
  • CollectionとDictionary、どう使い分ける?
  • UDT(ユーザー定義型)ではなくクラスを選ぶべき場面とは
  • Excel操作ロジックとビジネスロジックの分離手法

コメント

タイトルとURLをコピーしました