Wordマクロ その8 – オブジェクト(前編)


オブジェクトモデルガイドブック

これまでプログラミングの基礎について説明してきました。これまで述べたことはWordマクロに限らず、他のプログラム言語にも共通する内容です。1か月以上空けましたが、これからもう少し難しい内容になっていきます。とは言っても、あくまで初心者向けですのでできるだけ簡略化して説明していこうと思います。

今回は「オブジェクト」という概念についてです。

オブジェクトはobject、つまり物(thing)です。オブジェクトの概念とは、あらゆるものがオブジェクトで構成されているという考え方です。パソコンや携帯電話(スマホ)は数多くの部品(オブジェクト)で構成されています。その部品もさらに分けることができます。パソコンは大きく分けて、本体、出力部(ディスプレイなど)、入力部(キーボード)で構成されています。そのキーボードを見てみるといくつものキー、フレーム、内部の回路などで構成されています。また、これらのオブジェクトはそれぞれにサイズや色といった個々の特性を持っています。

Wordも同じように「オブジェクト」で構成されています。Wordそのものがオブジェクトであり、開かれる文書もオブジェクトです。またツールバー、そこにあるボタン、文書内のテキスト、フォントもすべてオブジェクトです。

オブジェクトには値と機能があります(値だけのものもある)。フォントというオブジェクトにはフォント名やサイズなどの値があり、リセットするという機能があります。

つまり、

Wordというアプリケーションは値と機能を持ったオブジェクトで構成されている

ということです。

Wordマクロは、このオブジェクトの値の読み込みと設定、その機能の呼び出しにより構成されています。

Wordのオブジェクトは最上位が「Application」、その下に「Document」と「Selection」、さらにその下にも「Boockmarks」、「Range」などのオブジェクトが階層化されています。

オブジェクトを正しく理解するには、あらためてきちんと学ぶ必要があります。
ここでは、「Wordはオブジェクトで構成されている」、「オブジェクトは階層化されている」ということが分かれば十分だと思います。

では、もう少しだけ細かく見てみます。

プロパティ

オブジェクトの持つ値のことを「プロパティ」(属性)といいます。
例えば、「Font」には、Bold、Italic、Name、Size、TextColorというプロパティ(属性)があります。これらのプロパティに値を出し入れすることにより、そのフォントの状態を変更します。書式は次のようになります。

オブジェクト.プロパティ = 設定値

例)Selection.Font.Bold = wdToggle 'wdToggleはオン/オフを切り替える定数

メソッド

メソッドとは、そのオブジェクトを操作するための関数です。
例えば、選択範囲を表す「Selection」オブジェクトには、Copy、Delete、Pasetというメソッドがあります。これを呼び出すことにより、その選択範囲にある値をコピー、削除、貼り付けすることができます。書式は次のようになります。

オブジェクト.メソッド

例)Selection.Copy

イベント

イベントとはオブジェクトに生じる作用のことを示します。
Wordマクロの元であるVisualBasicは「イベントドリブン(イベント駆動型)プログラミング」です。つまり、何らかのイベント(ボタンがクリックされたなど)が発生した時にプログラムが作動します。

例)文字列を選択してCtrl+Bを押す→フォントが太字になる(または太字が解除される)

Wordマクロを単純に説明すると

イベントが発生する

プロパティの取得/設定
and/or
メソッド実行

ということになります。

オブジェクトについて端折った説明してきましたが、「なんとなく分かった」あるいは「やはり難しい」と思われる方もまだまだ多いかと思います。次回はもう少し具体例を挙げて説明したいと思います。とりあえず今のところは「そのようなものがある」という理解でよいと思います。

では、また。

コメントしてみる