[PR]今日のニュースは
「Infoseek モバイル」
【HOME】 【INDEX】【第1回】【第2回】
VBAの概念を知ろう編 第1回
1 VBAとは
VBAの素でも、書いてみましたが、おおまかなことはわかってもらえたと思う?
マクロとは、処理の手順を自動化させてしまうプログラムのことをいいます
そして、エクセルで、そのプログラムを構築しているのが、
VBAというプログラム言語なんです。
つまり、逆にいえば、VBAという言語で記述されたプログラムで、
マクロが動いている、ということなんですネ、
そして、VBAとは、オフィスのために書かれた、プログラム言語のことで、
VB(VisualBasic:Windows対応アプリケーションの開発のためのプログラム言語)の
一部をエクセルで使用できるという代物ものなんです。
2 オブジェクト指向型プログラム
オブジェクト(Object)という言葉は、VBAから離されません!!
それほど、重要な言葉となっています。
さて、それでは、オブジェクトとはなんなんでしょう!!
英和辞典で調べますと、何々?
事物、対象物、目的物なんぞと書いてある。
VBAの本では「部品」という書き方もしてある。
そういえば、エクセルや他のソフトでも、いろんなアイコンのボタンが
整列して並んでいるよね!!これらも、オブジェクトとよんでいる。
アプリケーション(Application)という言葉もよく出てくる。
英訳では、適用、応用という意味なんだけど、
VBAでは、プログラムで構成された ひとつのもの と小生は解釈している。
(ちょっと、表現が難しいなぁ〜 (・.・;))
で、エクセルは、ウィンドウズで動く、ばがでかいプログラムで作成された
ひとつのアプリケーションということになる。
実際にエクセルを開いてみれば、いろんな、アイコンが配置されている
のはご承知のとおり。
つまり、エクセルも、他のアプリケーション(ソフト)と同様、
たくさんのオブジェクト(部品)が集まって、構成されていることがわかる。
例えば、エクセルの中のメニュバーというオブジェクトを考えてみよう。
その中にはファイルや、編集、表示などといったオブジェクトで構成されている。
さらに、そのファイルの中にも、開く、保存、印刷・・・と言ったオブジェクトで構成
されている。
そして、それぞれのオブジェクトをマウスなどにより触れてみる。そうすることに
よって、それぞれのオブジェクトに対するイベントがはじまり、処理が行われる。
またその動作により、メッセージ交換を行って、次のオブジェクトに移行したり、
強調したりするんだね。
エクセルのVBAでは、それらのオブジェクトを中心にプログラミングすることから
オブジェクト指向型プログラムと言われる由縁なんだね!!
3 VBE(Visual Basic Editor)とモジュール
VBEは、VBAを作成、管理するツールのことです。
VBAのプログラムはここで書きます。
また、自動記録マクロが動作したときには、
自動的に、ここに記録されます。
プログラムを記述する場所、あるいは記録される場所のことを、
モジュールと言っています。
モジュールには、
●標準モジュール ●ユーザーフォーム ●クラスモジュール
この3つで構成されています。
VBEの中のプロジェクトエクスプローラを表示させると、モジュールの階層が
よくわかりますネ。(↓参照)
これらのモジュールの集まりを、まとめてプロジェクトといいます。
VBAProject
|
|−■−Microsoft Excelオブジェクト ---> クラスモジュール
| |−Sheet1
| |−Sheet2 (シートやワークブックに割当られる)
| |−Sheet3
| 狼hisWorkbook
|
|−モジュール ---> 標準モジュール
| 弄odule1
|
フォーム
篭serForm1 ---> ユーザーフォーム
4 プログラムの基本構造 プロシージャ
(1) プロシージャ
VBAの基本構造は、プロシージャとモジュールから成り立っています。
モジュールのことは、おおまかに理解できたと思いますので、
ここではプロシージャについて、考えていきます。
プロシージャは、簡単にいうと、実行プログラムを格納する入れ物です。
そして、そのプロシージャを格納する入れ物が、モジュールである、
ということが言えますネ。
(2) プロシージャの種類も3種類
@ Subプロシージャ
単独で実行するプログラムや、実行結果を返す必要のないプログラム。
プログラム自動記録マクロなどもこれにあたいします
実際には
Sub プロシージャ名(変数1,変数2,・・・)
VBAのコード(プログラム)を記述
End Sub
と 書きます。
A Functionプロシージャ
他のプロシージャから呼出されたときに、実行結果を返すことができる
ワークシート関数を自分で作成できるユーザー定義関数もこれにあたります。
Function プロシージャ名(変数1 As データ型,変数2 As データ型,・・・)
VBAのコード(プログラム)を記述
End Function
B Propertyプロシージャ
これを使うには、高度な知識がいるらしい。独自のプロパティに対し
値の設定などを行うと書いてあるが、小生にはよくわからんので、ここでは
カーット!! ヽ(∇⌒ヽ) しますぅ〜
(3) プロシージャの役割
VBAでは、プロシージャで記述されたプログラムが、はじめて実行できる
ひとつのプログラムとなります。
また、プロシージャは、モジュールの中に複数作成することもできます。
1つのプロシージャから、別のフロシージャを呼出すこともできますし、
引数を引き渡して、別のフロシージャに計算させたりして、その結果を
返してもらい、引き続きプログラムを実行していく、といったことも出来ます。
To be Continued …
【HOME】 【INDEX】【第1回】【第2回】