[参照設定] ダイアログ ボックス

Microsoft Office 2000/Visual Basic プログラマーズ ガイド   

Office アプリケーションによって公開されたオブジェクトで作業を行う前に、[参照設定] ダイアログ ボックスを使用して、そのアプリケーションに参照を設定します。[参照設定] ダイアログ ボックスを開くには、Visual Basic Editor で、[ツール] メニューの [参照設定] をクリックします。図 4.3 は [参照設定] ダイアログ ボックスです。

4.3 [参照設定] ダイアログ ボックス

図 4.3 の例では、ほとんどの Microsoft Office アプリケーションへの参照が含まれています。ただし、カスタム ソリューションでは、オートメーションを使用して操作するオブジェクトが含まれるアプリケーションへの参照のみが必要です。不要な参照を含めると、ソリューションのロード時間が長くなり、余分なメモリを消費します。

メモ   [参照設定] ダイアログ ボックスを使用せずに、CreateObject または GetObject 関数を使用してオブジェクト変数を総称オブジェクト型として宣言し、別の Office アプリケーションのオブジェクトまたはオートメーションをサポートするほかのアプリケーションやコンポーネントによって公開されるオブジェクトを使用することができます。この方法ではコードのオブジェクトが実行時バインディングされるため、ステートメントの自動完了またはオブジェクト ブラウザなどのデザイン時ツールを使用できなくなり、コードの動作が遅くなります。CreateObject および GetObject 関数の使用については、この章の「CreateObject および GetObject 関数を使用する」を参照してください。

ヒント   各 Office 2000 アプリケーションの Application オブジェクトには、Assistant および FileSearch オブジェクトなどの Office の共有コンポーネントと共に機能するアクセサ プロパティが含まれているため、これらのオブジェクトを使用する際に Microsoft Office 9.0 のオブジェクト ライブラリへの参照は必要ありません。この方法により、アプリケーションをより速くロードすることができます。ただし、Office の共有コンポーネントの使用時に Microsoft Office 9.0 のオブジェクト ライブラリへの参照がない場合、コードは列挙定数を使用することができません。列挙定数を使用すると、エラー メッセージが表示されます。たとえば、Microsoft Office 9.0 オブジェクト ライブラリへの参照と共に Assistant オブジェクトを使用している場合、Office の Assistant をアニメーション化する次のようなコード行を使用することができます。

  Application.Assistant.Animation = msoAnimationGreeting

Microsoft Office 9.0 のオフィス ライブラリへの参照なしで同じコード行を使用するには、msoAnimationGreeting 定数の実際の値である "2" を次のように入力します。

  Application.Assistant.Animation = 2

msoAnimationGreeting などの定数に値を指定するには、一時的に Microsoft Office 9.0 のオフィス ライブラリへの参照を確立し、使用する定数の数値をオブジェクト ブラウザで検索する必要があります。数値を使用するとコードが正しく処理されなくなる可能性があります。また、後にリリースされる Microsoft Office で同じ値を使用することが保証されていないため、この方法でコードを記述すると以降のバージョンの Office では正しく機能しない場合があります。Access を除くすべての Office アプリケーションの VBA プロジェクトには、既定で Microsoft Office 9.0 のオフィス ライブラリへの参照が含まれます。ソリューションを開いたときに Microsoft Office 9.0 のオフィス ライブラリへの参照がロードされないようにするには、ソリューションの VBA プロジェクトにある参照を削除する必要があります。

コード内のオブジェクトを参照する場合、VBA は [参照設定] ダイアログ ボックスで選択されているタイプ ライブラリを表示されている順に検索して、そのオブジェクト型を認識します。参照されている複数のタイプ ライブラリで 1 つのオブジェクトに同じ名前が付けられている場合、VBA では [参照可能なライブラリ ファイル] リストで優先順位が高いタイプ ライブラリの定義を使用します。ライブラリの検索順を変更するには、[優先順位] ボタンを使用してリストのタイプ ライブラリを上下に移動します。ただし、Visual Basic for Applications およびホスト アプリケーションのタイプ ライブラリは移動できません。エラーの原因となり得るオブジェクトへの参照を除去する良い方法は、"Dim docNew As Word.Document" のようにオブジェクト名の前にプログラム識別子を挿入して型の宣言を確実に行うことです。プログラム識別子を使用して型の宣言を確実に行うことにより、エラーの原因を除去し、コードの自己文書化を促進することができます。

アプリケーションまたはコンポーネントのタイプ ライブラリへの参照を確立した場合、オブジェクト ブラウザとヘルプ システムを使用して、公開されたオブジェクトに関する情報を得ることができます。オブジェクト ブラウザの使用については、この章の「オブジェクト ブラウザを使用する」を参照してください。