クラスモジュールに関しては、説明している書籍がほとんどなく、考え方も複雑です。

複雑のような気がします。

今回のブログで、少し違った説明をしたいと思います。

スポンサーリンク

クラスモジュールに関して、少し違った説明

 

こんにちは。伊川(@naonaoke)です。

クラスモジュールのサンプルコードをご視聴者様から頂きました。

そのコードを勉強している内に、世間で説明されていることが、少し違っているのはないかと思いました。

もちろん、間違っているということではありません。

しかし、私のようなバカには、仕切りが高すぎるということです。

 

クラスモジュールとは?で検索すると、おなじみの用語が出てきます。

また、この用語も、理解するのには、難しいですね。

なので、一般の説明と、少し視点を変えて説明します。

ここは、プロローグなので、クラスモジュールに関するコード等は、一切説明しません。

次回、クラスモジュールのコードを説明しますが、その予備知識として、よんでみてください。

スポンサーリンク

このブログはこんな人にお勧め

今回のテーマ
  • クラスモジュールを勉強している人
  • クラスモジュールの、説明で、たい焼きの例、人間の例に飽きた人
  • 実務で、クラスモジュールを使いたい人

このブログを、読み終わるころには・・・・

 

実験的な説明なので、理解できるかどうかは、わかりません。
しかし、どのブログよりもわかりやすく説明したいと思います。
スポンサーリンク

クラスモジュールをネットで検索すると?

 はっきり言って、よく分からないのが現状ではないでしょうか?

クラスモジュールを検索すると?
  • オブジェクト指向
  • カプセル化
  • 継承
  • 多様性

お馴染みの用語ですが、ここで、嫌になります。

Naosuke

オブジェクト指向は、知っておいたほうがいいです。

下記の書籍がお勧めです。初心者の方でも、わかりやすく書いていますので、おススメです。

クラスモジュールの例

まず、たい焼きの例です。

おにぎりは、私が作成しました。

何かしらの製造過程が、例に出でます。

そして、極めつけが、クラスモジュールは設計図だという言葉にたどり着くのです。

抽象的で、わからなさすぎですね。

スポンサーリンク
[
この情報だけで、クラスモジュールを書こうなんて、無謀すぎます。

いつまでたっても理解できないはずです。

人間をクラスモジュールで設定する

 

サンプルは、必ず、人間の設定が出てくる。

Personの、身長、年齢、体重等をクラスモジュールで設定する。

こんなことしたくない。

Naosuke

Excel ACCESSで、住所録を使って勉強してもスキルが向上しないのと一緒。★

結局、クラスモジュール知らなくても、コード書けるし、きっと、みんなも知らないから、俺も知らなくてもいい。

こうなります。

クラスモジュールが持つ2つの顔

Personを例にするなら、ゲームのキャラクター設定には便利かと思いまます。

しかし、実務ではゲームは作りません。

NETで検索すると、ほとんどが、このキャラクター設定系です。

しかし、そうではなく、辞書機能的な意味合いもあります。

ここは、下記の動画を参照してください。

Naosuke
素晴らしい動画で、クラスモジュールをもう一度勉強しようという気になりました。


いつも使うコードを中心に説明していきます。

ここからが本当のクラスモジュール 作業手順 その1 自転車に乗ることを考える

 

一度自転車に乗れたら、多分、一生、乗れるでしょう。

上の赤い部分は、小脳で、いつも、やることを記憶している脳です。

自転車に乗るということを小脳が記憶しています。

だから、5年、自転車に乗らなくても、自転車を運転できるはずです。

 

自転車に乗るということであるパーツに注目してください。

ここからが本当のクラスモジュール 作業手順 その2 あるパールに注目

 

この状態を、ハンドルを握っていると言うと思います。

初心者は、この自転車を運転している状態を、いきなり、コードで書こうとします。

VBAで言うなら、標準モジュールにとりあえずコードを書いていく状態です。

いわゆる、どんぶり勘定の宮大工が、設計図なしで、家を建築している状態です。

 

しかし、もったいない・・・・・・

ハンドルと握るを分けます。

ハンドルと言えば?

車のハンドル

自転車のハンドル

バイクのハンドル

 

にぎると言えば?

Naosuke
ゴルフでにぎるは、犯罪です。
賭けるなら、以前の総理大臣のようにチョコレートにしてください。

ここからが本当のクラスモジュール 作業手順 その3 汎用性のあるものを記載する

ここからが本当のクラスモジュール 作業手順 その4 プロパティって何?

日本語で直訳するなら、属性、設定、構文です。

しかし、「クラス」と呼ばれるデータ構造を作る設計図をブラックボックス化するための手法を「カプセル化」といいます。

このときに用いられる「構文」のことを「プロパティ」と呼ぶのです。

 

初心者でも、すぐに、集計、プレゼンができるようになる。書籍だけの勉強は今すぐやめよう!
電子書籍で、AMAZON1位
専門のスタッフが、電話、チャットで完全サポート
大手パソコンスクールよりも、圧倒的な低価格

この握るって、辞書機能で登録できないか?

つまり、小脳で記憶しているものですね。

VBAでいうなら、小脳は、クラスモジュールにあたると思います。

このように、分けて設計しますよね。

これが、カプセル化です。

余談

 

Excelには、色々なプロパティがあります。

例えば、Rangeプロパティです。

このプロパティを、人様が、勝手に変更してはいけないのです。

伊川直助の属性を、男とするなら、その属性を他人が、勝手に女という属性に変更されたら、たまったもんではありません。

だから、Excelは、汎用性を与えてくれました。

プロパティを作成するのはいいけどさ、クラスモジュールにかいてくれない?

だから、クラスモジュールには、プロパティを作成するProperty プロシージャという特別なプロシージャがあるのです。

このプロパティを作成すれば、Rangeプロパティと同じように扱えるというのが、汎用性があるのです。

なんと言ってもミスがすくなくなます。

 

ここからが本当のクラスモジュール 作業手順 その5 握るを使い分ける

 

寿司屋の大将が、寿司職人に、握り方を教えるのは問題ありません。

しかし、バッターに寿司の握り方を教えても意味はありません。

 

Naosuke
さすがの大谷翔平さんでも、寿司の握り方で、ホームランは打てないでしょう★

 

だから、このように、分けるのです。

ここがポイント

 

ここがポイント
Function8.png
オートルックアップクエリもそうですが、クラスモジュールに関しても情報が少なすぎですね。
SEの方は、このようなコードを日常茶飯事に記載しているのでしょう。
しかし、少ない情報を、いかに調理して、自分自身のスキルにするかですね。
特に、今回紹介した、汎用性のあるものを、クラスモジュールに記載できると便利になるのは、間違いないと思います。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

次回紹介する、クラスモジュールを紹介するために、予備知識として紹介しました。
このような記事、動画は、かれこれ、10本以上作成しました。
しかし、クラスモジュールの確信を得ているようには思えませんでした。
今回は、少しだけ確信をついているような気がします。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルはありません。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事