第4回 VBAでオブジェクト変数を駆使する
今日からエクセルのVBAを使ったWEBアプリの作り方を紹介しようと思います。
もちろん自分のための復習も兼ねて、勉強のノート代わりにするつもりです。
エクセルのVBAマクロについては専門書籍に譲るとして、
あまり書籍等で取り扱われていない内容について述べたいと思います。
【例題】
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
今日のお題はこれです。
これはエクセルVBAでインターネットエクスプローラを開くというVBAマクロになります。
ここで
Set
という記述に注目してください。
別に以下のように記述してもいいのではないかと思いませんか?
IE=CreateObject("InternetExplorer.Application")
しかしながら、これを実行すると、「オブジェクトが必要です」というエラーになります。
これは変数とオブジェクト変数の違いに起因しています。
これからVBAというものになじみの無い方に、言語のお約束を
説明していかなければなりません。
オブジェクト変数
変数の型というのは、一般的に知られているもので
整数 int , 小数 double, 文字列 string などがあります。
これらは単に数値を持つ箱のようなものでしたが、
近年、普及してきたオブジェクト指向型言語では、変数の機能をさらに拡張した、
オブジェクト変数という概念が新しく加わったのです。
オブジェクト変数、それは例えて言うなら、
車みたいな物です。
箱は単なる入れ物に過ぎませんが、車は積んだ物を運んだりすることが出来ます。
つまり箱は単体では何もできないですが、車は単体で機能することができます。
箱
車
別に車でなくても、電子レンジや冷蔵庫でも構いません。
それぞれが、調理したり、冷蔵したりする機能を持っているのです。
そういう物体(=オブジェクト)を変数として定義できるようにしたのが
オブジェクト変数なのです。
さてオブジェクト変数には、二つの概念があり
一つはプロパティ、
もう一つはメソッドです。
プロパティというのは、車で言うならば、
ハンドル、タイヤ、ガソリンなど
車の部品のことを指しています。
メソッドというのは、
前進、バック、停車など
車の操作のことを示しています。
つまりオブジェクト変数は、その物体の形成と機能を一つに集約した
ものということです。
さてさて、なぜそんなややこしいことになってきたかというと、
それは、パソコンのOSが進化して、パソコンの中の世界が
実体の世界のように仮想の物体の集合体になってきたからです。
パソコンの中には、窓がたくさんあります。
それはワープロだったり、音楽プレーヤだったりします。
そして、その窓の中にも再生ボタンがあったり、音量調節のスクロールバーがあったりします。
これらはクリックしたり、動かしたりすると何らかの機能をしており、
あたかも物体のように機能するわけです。
これらをプログラムを作る人が一から作り上げる時代もありました。
しかしながら、WINDOWS時代になってからは、
これらの部品をいちいち作る必要がなくなりました。
つまり、OSにあらかじめ用意されたものを、引っ張り出してくるだけで、
そこそこ統一されたデザインや機能を引き出せるようになったのです。
それがいまの世の中のプログラム技術なんですね。
ずいぶん進歩したものですね。
次回から、VBAのWEBプログラムの作り方について
紹介していきます。