• ベストアンサー

VBAのクラスモジュールについて

現在、VBAの学習をしています。 クラスモジュールとは、どういったものか? 具体的な事例を簡潔に教えてください。 どんな時に使ったり、どのように作りますか? 簡単なものでかまいませんので、 教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 クラスは、簡単に言うと、インスタンスを設けることが目的です。 Office では、主に、独自のイベントを作る目的で使います。 Excel のVBA を用いたサンプルです。 ----------------------------------------- '標準モジュール Public myClass As Class1 Sub Auto_Open()   Set myClass = New Class1   Set myClass.xlApp = Excel.Application End Sub ----------------------------------------- 'クラスモジュール(Class1) Public WithEvents xlApp As Application Private Sub xlApp_NewWorkbook(ByVal Wb As Workbook)  MsgBox "This is NewBook" End Sub ----------------------------------------- 標準モジュールのAuto_Open を実行します。 それで、コードが通れば、インスタンスが出来上がります。 使い方は、NewWorkbook イベント、つまり、新規のブックを作ったときに、クラスモジュールで作ったイベントが実行されます。

関連するQ&A

  • VBAのクラスモジュール

    こんにちは。 VBAのクラスモジュールを勉強しようと思ってます。 お勧めの書籍、講座等ご存知でしたら、教えていただけないでしょうか? 宜しくお願いいたします。

  • クラスモジュールを使わないとできないこと

    エクセル、アクセスでvbaを利用しています。 現在はすべて標準モジュールに記載しているのですが 「クラスモジュールを使わないとできないこと」もあるのでしょうか? クラスモジュールの使い方、必要性がいまいちわかりません。 まだ初心者な為複雑なコードは作っていません。 よろしくお願いします。

  • クラスモジュールの使い方が詳しく書かれたVBAの本

    VBAを勉強中のものです。 クラスモジュールを使いこなせるようになりたいのですが それについてよく書かれている本はありますでしょうか? VBAの勉強している際に読む本は、標準モジュールにコードを記載するよう書かれています。 ご存知の方がいらっしゃいましたらご回答お願いします。

  • クラスモジュール

    私は5年位vbaをやっていますが 標準モジュールとフォームモジュールしか使った事が有りません。 エクセルだったらシートモジュールはあります。 クラスモジュールの存在は知って、 学ぼうと思ったのですが 意味がよくわからない為挫折しました。 でも今自分がやりたい事はクラスモジュールがなくても出来ています。 クラスモジュールを学んで使うと もっと作業が捗るのでしょうか? クラスモジュールを使う事のメリットを教えていただけますか?

  • VBA クラスモジュールについて

    http://www.excellenceweb.net/vba/class/what_vba_class.html を見ながらクラスモジュールの勉強をしているのですが 躓きました。 新規にクラスモジュールを挿入し オブジェクト名に果物売上と名付けました。 そこに、 Sub TEST() Dim Apple As 果物売上 Set Apple = New 果物売上 End Sub と入力しました。 そして標準モジュールを挿入し、 そこに Sub TEST() Dim Apple As 果物売上 Set Apple = New 果物売上 With Apple .名前 = "リンゴ" .価格 = 100 .在庫 = 20 .仕入数 = 50 End With With Apple Debug.Print .名前 End With End Sub を入力しました。 そして、デバッグすると 「Apple As 果物売上」の部分が コンパイルエラーになってしまいます。 全然クラスモジュールの使い方がわからないのですが どこを直せばいいのでしょうか?

  • クラスモジュール

    クラスモジュールについて詳しく使い方を知りたいのですが 様々な本を見ましたが、ほとんどの本が1~2ページ程度の軽い説明で終わらせているのがほとんどです。(特にVBA系は) これについて詳しく書かれた本をお知りの方がいましたら教えていただけないでしょうか?VBAはないと思うのですがVBで大丈夫です 特に配列(行列)を渡したりして計算させるやり方が知りたいです。コントロールなどを使ったものではなく(基本的には同じかとも思いますが) よろしくお願いします。

  • 標準モジュールとクラスモジュールの違い

    マイクロソフトのAccess2000でVBAプログラミングを行なっておりますが、 基本的なことを教えてください。 「標準モジュール」と「クラスモジュール」の違いはなんですか? 例えば、どこからでも使えるプロシージャ Public Function getSum( i1 as integer, i2 as interger ) getSum = i1 + i2 End Function を定義したとして、標準モジュール内に書くのとクラスモジュール内に 書くのとでは、何が違ってきますか?その他とにかく「標準モジュール」 とクラスモジュールの違いを教えてください。

  • クラスモジュールについて

    笑われてしまうかもしれませんが、クラスモジュールはどんな時に使用するべき なのかが分かりません。 標準モジュールとどう使い分けていけば良いのか教えてください。 また、DLLとOCXも、どう使い分けたら言いか教えてください。 よろしくお願いします。

  • Access VBA標準モジュールについてです。

    Access VBA標準モジュールについてです。 現在、仕事上必要にかられAccessVBAを勉強中の初心者です。初歩的な質問で申し訳ありませんが、ご存知の方教えて下さい。 フォーム上のコマンドボタンを押した時に標準モジュールを作動させたいのですが、そんな方法はありますか?【クラスモジュールについての本は沢山あって何とか理解できつつありますが、標準モジュールに関しての記述があまり無い気がします。】 宜しくお願いします。

  • VBAもしくはVB6:クラスの中でクラスは使える?

    EXCEL2010にて、VBAでプログラミングしております。 クラスモジュールを用いてクラスを自分で作成して、 作成したクラスを標準モジュール内で使用するのは普通ですが、 クラスモジュールを用いてクラスを自分で作成して、 作成したクラスを、更に別のクラスモジュールの中に記述することは可能ですか? このようなクラスの中に別のクラスが入っている状態(クラスの入れ子)で、 まともに動くものでしょうか? 詳しい方、御教授よろしくお願いいたします。

専門家に質問してみよう