事前バインディングでWordを起動する
それでは、事前バインディングでWordを起動するサンプルを見てみましょう。リスト1のマクロを実行する前に、必ずVBEの[参照設定]ダイアログボックスでWord 2000(9.0)のオブジェクトライブラリを参照設定しておくのを忘れないでください。
リスト1の
では、オブジェクト変数を宣言しています。Word 2000に対しての参照設定がされていますので、オブジェクト変数のデータ型にはObjectキーワードではなく、Wordを表わす「Word.Application」、そして文書(Documentオブジェクト)を表わす「Word.Document」を指定できます。
さらに、
Dim objWord As New Word.Application
というように、事前バインディングで変数を宣言しています。この宣言によって、「Word.Application」のインスタンスが生成されますので、SetステートメントやCreateObject関数を使う必要はありません。
リスト1の
では、Wordオブジェクトをリモートコントロールしています。Wordオブジェクトのインスタンスが生成されたら、ActiveXオートメーションを介して、Wordオブジェクトのプロパティやメソッドが使えるようになります。リスト1の
以降のステートメントでは、新規文書を作成して、そこにテキストと今日の日付を挿入して書式の設定を行なっています。そして、QuitメソッドでWordを終了し(リスト1-
)、オブジェクト変数をクリア(リスト1-
)すれば万全です。変数「objWord」と「objWordDoc」はプロシージャレベル変数ですから、マクロの終了と同時に占有していたメモリ領域は開放されます。したがって、リスト1の
のステートメントは不要と思われるかも知れませんが、オブジェクト変数はNothingを代入して明示的にクリアするのが基本だということを常に実践しておくとよいでしょう。
リスト1:事前バインディングでWordを起動する |
 |