VBプログラミング概説 |
近年のプログラミング・スタイルは、従来の構造化プログラミングに代わり、 オブジェクト指向プログラミングが主流となっている。オブジェクト指向 プログラミングでは、特定処理に責任を持つ幾つかの仲介者(オブジェクト)に メッセージを送ることにより、全体の処理を構成する。メッセージは、 要求された処理を行うのに必要な情報(引数)を伴う。メッセージを受け取った 仲介者は、対応するメソッドを起動して要求に応える。
オブジェクト指向プログラミングの利点は、既存オブジェクトの機能を継承する 新たなオブジェクトを派生的に生成させることで、既存プログラムの再利用性を 高める点にある。基本機能を有するオブジェクト・ライブラリを整備しておくことで、 新たに開発するプログラムに必要なコード記述を減らすことができ、生産性を向上 させることができる。
VB(Visual Basic)は、あるオブジェクトの機能を継承する任意の派生オブジェクトを 必ずしも生成できないので、オブジェクト指向言語ではない。ただし、オブジェクトの メソッドを起動するという形式で処理を実行するスタイルは、オブジェクト指向「風」 のプログラミング環境を実現していると言える。VBで利用可能な多種多様の 部品としてのオブジェクトを整備することにより、Windowsプログラミング言語 としての有用性が高められている。
あるオブジェクトは、コレクション・プロパティ・メソッドを持つことができる。 プロパティとは、そのオブジェクトの属性を示すものであり、例えば名前や色などが これにあたる。一方、メソッドとは、そのオブジェクトが有する処理機能であり、 例えばDAOの場合、外部DBに接続したり、SQL文を送信して結果を受け取ったりする ものである。また、コレクションはオブジェクトの集合である(一般的な プログラミング用語としてのコレクションとは異なる。コレクションの形態としては、 配列やリストなどの構造があるが、VBで言うコレクションとは、単なるオブジェクトの 集合である)。
各オブジェクトが有するプロパティやメソッドはそれぞれ異なるので、 使用する際にはヘルプを利用して詳細を調べる必要がある。 一般的な利用方法は、以下の通り。
プログラムは、記述された順に上から実行される。条件に応じて異なる処理を 行ったり、同じ処理を繰り返したりする場合には、処理順序を制御する構文を 使用する。DAOのサンプルプログラムの中では、 以下の3つの制御構文が使用されている。
ある条件が真であるときと、偽であるときで異なる処理を行うための構文である。 Ifの後に書かれた条件が真の場合に、thenの後に書かれた処理が実行され、 偽の場合に、Elseの後に書かれた処理が実行される。Elseifを使用して、 幾つかの条件判断を順次行うこともできる。また、Else句は省略可能である。
ある条件が真である間、同じ処理を繰り返すための構文である。 Whileの後に書かれた条件が真である間、Wendまでに書かれた処理が繰り返される。 処理の繰り返し件数が事前に不明か、件数を得るのにコストがかかる場合に利用する。
指定した回数だけ、一連の処理を繰り返すための構文である。 カウンタ変数を指定し、その値が指定した範囲内であるときに、ForからNextまでに 書かれた処理が繰り返される。カウンタの増分は、Step句においてしていできるが、 これを省略すると増分は1に設定される。処理の繰り返し件数が事前に分かっている 場合に利用する。
Excelの操作をVBにて行うために、Excel-VBAには、Excel独自のオブジェクトが 追加されている。以下の3つのオブジェクトが重要である。