objWord.WindowState = wdWindowStateMinimize
この「wdWindowStateMinimize」は、Word VBAの組み込み定数で、Excel VBAにとってはまったく意味のない用語です。したがって、本来ならばこのステートメントはエラーを返すはずですが、あらかじめWordのオブジェクトライブラリを参照設定しているため、このような記述が許されるのです。もし、Wordのオブジェクトライブラリを参照していなければ、Word VBAの組み込み定数は使えませんので以下のように記述しなければなりません。
objWord.WindowState = 2
または次のように自分で定数を定義する必要があります。
Const wdWindowStateMinimize As Integer = 2
objWord.WindowState = wdWindowStateMinimize
したがって、オブジェクトライブラリが参照できないような特殊なケースを除けば、私たちは基本的に事前バインディングを使うべきであると言えるでしょう。
図2:自動メンバ表示 |
![]() |