クラスモジュールは、仕切りが高いと思われがちです。
しかし、NETで検索しても、なかなか難しいですよね。
なので、カンタンなサンプルを記載してみました。
目次
単純な作業こそ、クラスモジュールで設計する
こんにちは。伊川(@naonaoke)です。
クラスモジュールは仕切りが高いですよね。
何が便利なのか?と言われたら、回答するにも困ります。
しかし、覚えたらとにかく便利です。
単純な作業こそ、クラスモジュールで設計する
以前にも、クラスモジュールについては説明をしています。
しかし、なんせ、仕切りが高いですね。
クラスモジュールなんて、知らなくても、VBAは動きます。
しかし、単に動くだけでは、いけませんね。
コードは、短く短くすることが大切です。
そして、オブジェクト指向で作成するということも理解しましょう。
できなくても、オブジェクト指向で作成するということです。
今夏は、クラスモジュールに関しては、Excelには、サンプルはあるものの、ACCESSに関しては、結構、皆無です。
今回は、コードは短くなりません。
むしろ長くなります。
クラスモジュールの練習用に、読んでいただければ幸いです。
このブログはこんな人にお勧め
- ACCESSで、VBAを勉強している人
- ACCESSで、クラスモジュールを利用したいと思っている人
- クラスモジュールを勉強しようと思っている人
このブログを、読み終わるころには・・・・
単純な掛け算ですが、クラスモジュールを作成するに当たり、基本的な考え方を学べると思います。
クラスモジュールを利用する
何度も言いますが、クラスモジュールは、知らなくても問題ありません。
しかも、大抵、サンプルとなるのが、人間の個人情報です。
だから、そんなもん、関係ないよと思われがちです。
しかし、私より、何倍も頭の良い人が考えたのです。
個人情報のみで、終わるわけがありません。
先日、Excelのユーザーフォームで電卓を作成する記事を見かけました。
その際にクラスモジュールを利用していたのです。
今回の記事より、はるかに難しいです。
しかし、記事を読んだときに、全部理解できなくても、なんとなく、記事をパクってクラスモジュールを作成しようと思いました。
クラスモジュールで掛け算 作業手順 その1 フォームを確認
数量と単価をかけて、合計を出すというものです。
クラスモジュールを利用しなければ、1行で終わる内容です。
それを、わざわざ、クラスモジュールを利用する必要があるのかという話です。
しかし、くだらないと思うことを、敢えて、難しく考えて、悩むのも、スキルアップする前兆と思って我慢しましょう。
このように、計算が可能になります。
クラスモジュールで掛け算 作業手順 その2 クラスモジュールを作成
これだけでも、結構なコードの量ですね。クラスモジュールに関しては、この最初の面倒を突破すると、後が楽なのです。
ACCESSと似ていますよね。
ACCESSの最初の設計が重要なのですが、一旦、作成してしまえば、後々楽ですよね。
なぜ、最初が面倒かというと、整形されたデータベースを作成するために、情報を全部整理しなければなりません。
クラスモジュールで掛け算 作業手順 その3 フォームモジュールを作成
クラスモジュールで掛け算 作業手順 その4 フォームモジュールのコードの意味
クラスモジュールは、設計図であり、そして、その設計図に、インスタンスを作成する。
クラスモジュールを勉強して、何度、たい焼きという言葉を聴いたことか
はっきり言いますが、これは、おかしい。
このクラスモジュールで、何が、たい焼きになるかわかりますか?
ここでいう、クラスモジュールの説明である、たい焼きに該当するものは、
合計は分かるけど、単価と、数量はどうなるの?って思った人、それが普通です。
私も、この記事を作成するまで、理解できませんでした。
そして、標準モジュール(器)上でNewキーワード(材料)を使ってクラスを変数に代入すると、その変数はクラスの設計図通りのオブジェクト(タイヤキ)となる。
すると、VBAはそのオブジェクトを操作したり、オブジェクトに対して発生したイベントを処理できるようになるわけだ。
「インスタンス」という概念を覚えておこう。タイヤキの型があれば、同じタイヤキをいくつも作ることができる。
同様に、クラスがあれば、そこからは同じオブジェクトをいくつも作ることが可能なのだ。
このように、ひとつのクラスからいくつでも複製されるオブジェクトのことを「インスタンス」と呼ぶ。
私が、最初に出会ったクラスモジュールの説明です。
今、読んでも、ちっとも理解できません。
しかし、自分で作成することで、少しだけ理解できた気がます。
ここがポイント
クラスモジュールのカンタンなサンプルを作成しようと思っていたのですが、全く作成できませんでした。
そもそも、理屈がわかっていないのが原因です。
しかし、自分で、クラスモジュールを作成して、少しだけ内容を理解できました。
コードは眺めて、写経するものです。
まとめ
恐らくですが、このサンプルで、クラスモジュールを理解できたとは、私も含めて思っていません。
このカンタンなサンプルを利用して、さらに説明が必要かと思います。
次回はその説明をしたいと思います。
今回も最後まで読んでいただきありがとうございました。
今回のサンプルファイルは、No268です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。