- ベストアンサー
クラスモジュール
私は5年位vbaをやっていますが 標準モジュールとフォームモジュールしか使った事が有りません。 エクセルだったらシートモジュールはあります。 クラスモジュールの存在は知って、 学ぼうと思ったのですが 意味がよくわからない為挫折しました。 でも今自分がやりたい事はクラスモジュールがなくても出来ています。 クラスモジュールを学んで使うと もっと作業が捗るのでしょうか? クラスモジュールを使う事のメリットを教えていただけますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>>クラスモジュールを学んで使うと もっと作業が捗るのでしょうか? 昔、JavaやC++などのオブジェクト指向言語が流行したとき、「再利用しやすいクラスを作れば、開発作業が捗る」と宣伝されましたし、関連する書籍が多数出版され、セミナーなど色々とありました。 「よく使うクラスモジュールを作っておけば、それを継承などして、ちょっと修正したら、使いたいモジュールが簡単に作れる」という発想でした。 しかし、実際問題として、細部における微細な変更であればいいのですが、「基本クラスの根幹に関わる仕様を変えないと、使いまわしができない」とか、「基本クラスを変更すると、その影響が広範囲に及んでしまい、修正工数が膨大になってできない」というのが開発現場で明らかになりました。 実際、私もC++による開発を行なったとき、クラスモジュールの再利用をしようとしたとき、調べるソースの範囲が広範囲となり、しかも、修正がやりにくくて、とても作業に時間がかかったことがありました。 そして、最終的にそのプロジェクトは、ユーザからの要望に対応できず、完成を見ることなく、失敗に終わってしまいました。 判りやすくいえば、全てのソフトウエア開発の問題を解決する「銀の弾丸」だと思われた「オブジェクト指向」とか「クラスモジュール」だったけど、やはり、それらは銀の弾丸ではなく、多くのプログラマは騙されていたというか、勝手な思い込みをしていたということでしょう。 そして、質問者さんの場合、あまりクラスモジュールを使うメリットは無いと思います。
その他の回答 (2)
- mitarashi
- ベストアンサー率59% (574/965)
個人で、勤務先でVBAコードを書き散らかしているアマグラマー?ですが、 クラスモジュールは時々使用しています。使用するのは、 1.データの持ち方で課題解決が楽になると思われる時。 2.疑似コントロール配列を使いたいとき。 ですね。以前に真面目に回答した事例がありますのでご覧下さい。 http://okwave.jp/qa/q8011387.html クラスモジュールの使い方の一部に過ぎないとは思いますが、ご参考まで。
お礼
回答頂きありがとうございました。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
Q、クラスモジュールを使う事のメリットを教えていただけますか? A、メリットはゼロ。 VBAってのはプログラム言語であってプログラム言語にあらず。正確には使用ソフトの利用を補助する言語です。ですから、そもそもがクラスモジュールの開発の必要性も意義もない訳です。 【仮に本格的なクラスモジュールを開発し組み込むと・・・】 関数オーバーヘッドエラーなどが発生してソフト本体が動作不能に陥ります。ですから、独自イベントを発生させる程度の単発クラスモジュール程度が限界です。 【JAVAやC#などはクラスモジュールの設計と開発がテーマ】 一方、JavaやC#ってのは純プログラム言語です。DoCmd.RunSQL なんてのも自分で設計し自分で開発しなきゃーなりません。私もJavaに挑んでMySQLのコマンドラインツールを自作してみましたが、もう、クラスモジュールの出来が全てってのを心底実感しましたね。 >クラスモジュールを学んで使うともっと作業が捗るのでしょうか? 人に言われて納得するのも学習だが、自分でやって実感するのも学習。そう思いますよ。 by 超素人プログラマ見習いより
お礼
回答頂きありがとうございました。
お礼
回答頂きありがとうございました。