vb.netなど、プログラム言語を使っている方には分かる「クラス」ですけれど。
vbaのみ使っている方には分かりにくいですよね? 「クラス」って。

「クラス」という日本語でイメージされる内容が狭いからだと私は思ってます。
「class」の方が、まだ(イメージを縛られない分だけ)いいかも。(^^ゞ

実はクラスって無理やり意味をあてはめると、
「階級(役割・仕事)」のことを指すんですよね。どちらかというと。

かなり語弊がありますけれども、会社では「総務部門」と「経理部門」、「製造部門」では、
仕事の内容が全然違いますよね。そんな感じです。
「部門」や「課」でもいいかもしれませんね。

役割で考えるんでしたら、「社長」と「係長」、「一般社員」では、やっていることが全然違いますよね。

(私の戯言に縛られてしまうと、イメージが狭くなってしまって、後々で苦労しますので、
何となくイメージがつかめたら、自分のイメージを持ってくださいネ)

あるオブジェクトの基本クラス(例えばworksheet)と、
そのコレクションクラス(例えばworksheets)の関係は、

課長(=コレクションクラス)と課内員(=基本クラス)みたいなものですね。

課内員は、担当の部分(例えばsheet1)に対して、色々な仕事(メソッド)をする。

課長は、個別の担当を持たず、課内員達(worksheet.....s)を増やしたり(add)、
リストラしたり(delete)する。(T_T)
さらに課長は、worksheets("sheet1").name="test"とかの場合、
指定された部分を担当している(sheet1)課内員に、
name="test" の仕事をしてねっ! と仕事を引き渡す。

(決して、worksheetsオブジェクトが直接仕事しているわけじゃないの)

excelのオブジェクトが、完全にオブジェクト指向かどうかは私には分からないけれど、
クラスの説明をするのにちょうどいいので使いました。


次回は、単純なオートシェイプで作った「蝶」クラスを作って行きましょう。

次回は「クラスモジュールで遊ぶ(2) butterflyクラスの設計(枠)」です


「クラスモジュール」関連記事内リンク

クラスモジュールで遊ぶ(1)
クラスモジュールで遊ぶ(2) butterflyクラスの設計(枠)
クラスモジュールで遊ぶ(3) butterflyクラスの設計(コード)
クラスモジュールで遊ぶ(4) 蝶を飛ばそう
クラスモジュールで遊ぶ(5) 複数の蝶
クラスモジュールで遊ぶ(6) airplaneクラス
クラスモジュールで遊ぶ(7) 蝶と飛行機を一緒に飛ばそう
クラスモジュールで遊ぶ(8) VBAインターフェース?
クラスモジュールで遊ぶ(9) インターフェースを継承したクラス
クラスモジュールで遊ぶ(10) インターフェースのポリモーフィズム
クラスモジュールで遊ぶ(11) インターフェースに沿ったクラス設計
クラスモジュールで遊ぶ(12) インターフェースの多重継承
クラスモジュールで遊ぶ(13) インターフェース多重継承クラスの使い方サンプル