現在オフラインです。再接続するためにインターネットの接続を待っています

[INFO] Excel の COM アドインおよびオートメーション アドイン

Office 2003 のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Office 2003 のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

概要
Microsoft Excel 2002 では、Component Object Model (COM) アドインの他にオートメーション アドインがサポートされています。この資料では、これら 2 種類のアドインの違いについて説明します。
詳細

COM アドイン

COM アドインを使用すると、開発者は Office 2000、Office XP、Office 2003 アプリケーションの機能をユーザー設定の作業用に拡張できます。COM アドインは通常、ツール バー ボタン、フォーム、ダイアログ ボックスのクリックや、ブックの開閉、ワークシートへのデータの入力など Excel に固有のイベントに対する Excel の応答を自動化するために使用します。COM アドインの関数を、ワークシートのセル数式から直接呼び出すことはできません。

COM アドインはインプロセス COM サーバー (ActiveX DLL) であり、IDTExensibility2 インターフェイスを実装する必要があります。すべての COM アドインで、このインターフェイスの 5 つのメソッド、OnConnection、OnStartupComplete、OnAddinsUpdate、OnBeginShutDown、および OnDisconnection をそれぞれ実装する必要があります。

COM アドインをユーザーのシステムにインストールすると、このアドイン用にレジストリ エントリが作成されます。通常の COM 登録の他に、COM アドインが実行される Office アプリケーションに関しても登録されます。Excel で使用される COM アドインは、次のレジストリ キーに登録されます。
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 					
このキーには、インストールされている COM アドインごとにサブキーが 1 つずつ含まれます。サブキーの名前は COM アドインの ProgID です。COM アドインのサブキーには、COM アドインのフレンドリ名、説明、読み込み方法を説明する値も含まれます。読み込み方法は、Excel へのアドインの読み込み方法の説明であり、起動時に読み込み、次の起動時のみに読み込み、要求に応じて読み込み、読み込まない、のいずれかです。

COM アドインの読み込みおよびアンロードは、Excel のユーザー インターフェイスでも可能です。これを行うには、次の手順を実行します。
  1. [表示] メニューの [ツールバー] をポイントし、[ユーザー設定] をクリックします。
  2. [ユーザー設定] ダイアログ ボックスで、[コマンド] タブをクリックします。分類の一覧で、[ツール] をクリックします。コマンドの一覧で [COM アドイン] を探し、このコマンドをメニューまたは任意のツール バーにドラッグします。[ユーザー設定] ダイアログ ボックスを閉じます。
  3. 追加した [COM アドイン] をクリックして [COM アドイン] ダイアログ ボックスを表示します。このダイアログ ボックスには、システムにインストールされているすべての COM アドインが表示され、現在読み込まれている COM アドインが選択されます。
COM アドインの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
238228 [HOWTO] Visual Basic で Office 2000 COM アドインを作成する方法
230689 [SAMPLE] Visual C++ で作成した Office 2000 COM アドインのサンプル Comaddin.exe
詳細については、次のマイクロソフト Web サイトを参照してください。

オートメーション アドイン

COM アドインの他に、Excel 2002 および Excel 2003 ではオートメーション アドインがサポートされています。オートメーション アドインは COM アドインを基に構築され、オートメーション アドインの関数は Excel ワークシートの数式から呼び出すことができます。COM アドインは、IDTExtensibility2 インターフェイスをサポートするインプロセス COM サーバーである必要がありますが、オートメーション アドインはインプロセス、アウトプロセスのどちらの COM サーバーでもかまいません。また、IDTExtensibility2 の実装も必須ではありません。

オートメーション アドインの関数を Excel で使用するには、次の手順を実行します。
  1. [ツール] メニューの [アドイン] をクリックします。
  2. [アドイン] ダイアログ ボックスで、[オートメーション] をクリックします。登録済みの COM サーバーの一覧で、該当するオートメーション アドインをクリックして、[OK] をクリックします。
  3. オートメーション アドインが [アドイン] ダイアログ ボックスに表示されます。[OK] をクリックして [アドイン] ダイアログ ボックスを閉じます。
[アドイン] ダイアログ ボックスの一覧に項目を追加したときや、一覧にあるアドインをクリアしたとき、Excel では変更内容がレジストリに格納されます。Excel では、まず次のレジストリ設定を使用して、アドイン一覧のオートメーション アドインが読み込まれたかどうかが判断されます。
Excel 2002キー :       HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options文字列 :     OPENxサンプル値 : /A "ServerName.ClassName"					Excel 2003キー :       HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options文字列 :     OPENxサンプル値 : /A "ServerName.ClassName"					
文字列値で使用されている /A スイッチは、Excel 2002 および Excel 2003 で新規に採用されたスイッチであり、オートメーション アドインを特定して読み込むために使用されます。オートメーション アドインはすべて要求に応じて読み込まれます。オートメーション アドインの読み込み方法を変更できる設定はありません。

[アドイン] ダイアログ ボックスにあるオートメーション アドインがクリアされると、そのアドインの ProgID と同じ名前のサブキーが、以下のレジストリ キーに作成されます。
Excel 2002HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager					Excel 2003HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager					
このレジストリ設定により、アドイン一覧に追加したオートメーション アドインは、読み込まないと選択された場合であっても、一覧に保持されます。

オートメーション アドインの詳細については、次の「サポート技術情報」 (Microsoft Knowledge Base) を参照してください。
285337 [HOWTO] Excel ワークシート関数用に Visual Basic オートメーション アドインを作成する方法
詳細については、次のマイクロソフト Web サイトを参照してください。

IDTExtensibility2 を実装するオートメーション アドイン

前述したように、オートメーション アドインでは IDTExtensibility2 を実装する場合がありますが、これは Excel のワークシートからアドインの関数を呼び出すために必須ではありません。オートメーション アドインを、Excel インスタンスを参照するように設定する必要がある場合は、IDTExtensibility2 を実装し、OnConnection の Application パラメータを使用して Excel を自動化することができます。

IDTExtensibility2 を実装するオートメーション アドインは、Excel ユーザー インターフェイスで、[COM アドイン] ダイアログ ボックスと [アドイン] ダイアログ ボックスの両方で読み込むことができます。これらのうち一方のダイアログ ボックスで読み込んだか、両方のダイアログ ボックスで読み込んだかによって、オートメーション アドインの動作は次のように異なります。
  • [アドイン] ダイアログ ボックスのみで読み込んだ場合

    アドインは要求に応じて読み込まれます。アドインの関数は、ワークシートの数式から呼び出すことができます。
  • [COM アドイン] ダイアログ ボックスのみで読み込んだ場合

    アドインは COM アドインとして読み込まれ、読み込み方法はレジストリの設定によって決まります。アドインの関数を、ワークシートの数式から呼び出すことはできません。
  • [COM アドイン] ダイアログ ボックスと [アドイン] ダイアログ ボックスの両方で読み込んだ場合

    アドインの 2 つの異なるインスタンスが読み込まれます。一方のインスタンスは COM アドインとして読み込まれ、もう一方はオートメーション アドインとして読み込まれます。COM アドイン インスタンスでは、レジストリで指定されている読み込み方法が使用され、オートメーション アドインは要求に応じて読み込まれます。この 2 つのインスタンスはそれぞれ独自に動作し、グローバル変数を共有しません。
オートメーション アドインは要求に応じて読み込まれるため、Excel でセル編集モードのときにアドインの読み込み動作が発生することがあります。そのため、IDTExtensibility2 をサポートするオートメーション アドインを開発するときは、アドインを読み込み中に Excel の状態を変更する処理を行わないように注意する必要があります。詳細については、次の「サポート技術情報」 (Microsoft Knowledge Base) を参照してください。
284876 [BUG] オートメーション アドインを読み込むと Excel が異常終了する
(c) Microsoft Corporation 2001, All Rights Reserved. Contributions by Lori B. Turner, Microsoft Corporation.

addin addins add in
プロパティ

文書番号:291392 - 最終更新日: 11/11/2005 07:11:52 - リビジョン: 3.1

Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition

  • kbautomation kbinfo KB291392
フィードバック
;did=1&t=">