複数のバージョンの Office がインストールされている場合の Office オートメーションについて


概要


この資料では、Office オートメーションを使用する際に、読み込まれる Office アプリケーションのバージョンを COM (Component Object Model) が判断する方法について説明します。

詳細


COM サーバーが初めてインストールまたは登録される際、サーバーのプログラム識別子 (PROGID) およびクラス識別子 (CLSID) に対応するエントリがレジストリに追加されます。これらのレジストリ設定によって、COM は、サーバーのインストール場所などのサーバーに関する情報を取得でき、サーバーの自動化が可能になります。たとえば、Excel 2000 には Excel.Application というバージョン固有の PROGID と {00024500-0000-0000-C000-000000000046} という CLSID があります。Excel 2000 には、次の COM 関連のレジストリ エントリがあります。

HKEY_CLASSES_ROOT\Excel.Application\CLSID

デフォルト値 : {00024500-0000-0000-C000-000000000046}

HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\LocalServer32


デフォルト値 : C:\PROGRA~1\MICROS~1\Office\EXCEL.EXE /automation
COM は、PROGID から CLSID までのレジストリ キーの値によって Excel の実行可能ファイルのインストール場所を確認し、そのファイルでオートメーションを開始できます。



複数バージョンの Office をインストールしており、それらの Office サーバーのいずれかでオートメーションを使用する場合、読み込まれるバージョンは、レジストリ内のこれらの設定によって決まります。ほとんどの場合、最後にインストールされたバージョンが、オートメーションで読み込まれるバージョンです。ただし、Word の動作は他の Office アプリケーションとは異なります。それぞれの Office オートメーション サーバーの動作の違いについて、以下に説明します。



Access、Excel、および PowerPoint の 97、2000、2002、2003、および 2007

Access、Excel、および PowerPoint では、Office セットアップ中にこれらのレジストリ キーが変更されます。これらのアプリケーションのいずれかを自動化する際に読み込まれるバージョンは、最後にインストールされたバージョンです。



Word 97

Word 97 では、Office セットアップ中にこれらのレジストリ キーが変更されます。Word を自動化する際に Word 2000 または Word 2002 のいずれかがインストールされていると、Word 97 が読み込まれるのは、このバージョンが最後にインストールされた場合だけです。



Word 2000、2002、2003、および 2007

Word 2000、2002、2003、および 2007 では、Office セットアップ中だけでなく Word が起動されるたびにこれらのレジストリ キーが変更されます。Word を自動化する際に読み込まれるバージョンは、最後に起動されたバージョンまたは最後にインストールされたバージョンです。



その他の注意点

システムに複数バージョンの Office をインストールしているときの Office オートメーションは、一般的にバージョン固有の特定の PROGID を使用して読み込むバージョンを指定できると認識されていますが (たとえば、"Excel.Application.9" の場合は Excel 2000、"Excel.Application.10" の場合は Excel 2002、"Excel.Application.11" の場合は Office Excel 2003 を読み込む)、これは正しくありません。Excel 2000 およびそれ以降のバージョンの Excel は同一の CLSID を共有しているため、これらの PROGID を使用して読み込まれるバージョンは、単に、どのバージョンが最後にインストールされたかということで決まります。



テストの目的で使用する場合は、コマンド ラインで /regserver スイッチを指定すると、特定のバージョンの Office アプリケーションを強制的に登録できます。たとえば、セットアップを実行せずに特定バージョンの Excel を強制的に登録するには、次のようなコマンド ラインを使用します。


"c:\program files\microsoft office\office\excel.exe" /regserver
このスイッチは、テストや開発の目的には使用できますが、運用時の手段として使用することはお勧めできません。



複数のバージョンの Office を実行する方法、または Office の共存インストールの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。


290576 1 台のコンピュータで複数のバージョンの Office を実行する方法