メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

概要

Microsoft Office Excel では、コンポーネント オブジェクト モデル (COM) アドインに加えて、Automation アドインもサポートされています。 この記事では、これら 2 種類のアドインの違いについて説明します。 

詳細情報

COM アドイン

COM アドインは、カスタム タスク用に Office アプリケーションの機能を拡張する方法を開発者に提示します。 COM アドインは、通常、CommandBar ボタン、フォームまたはダイアログ ボックス、Excel 固有のイベント (ブックを開いたり閉じたり、ワークシートにデータを入力したりするなど) に応答して Excel を自動化するために使用されます。 COM アドイン関数は、ワークシート内のセル数式から直接呼び出すことはできません。

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

COM アドインがユーザーのシステムにインストールされると、アドインのレジストリ エントリが作成されます。 通常の COM 登録に加えて、COM アドインは、実行する Office アプリケーションごとに登録されます。 Excel で使用される COM アドインは、次のレジストリ キーに登録されます。

            
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 

このキーには、インストールされている COM アドインごとにサブキーが含まれています。 サブキーの名前は、COM アドインの ProgID です。 COM アドインのサブキーには、COM アドインのフレンドリ名、説明、および読み込み動作を記述する値も含まれています。 読み込み動作では、アドインを Excel に読み込む方法について説明します。起動時に読み込まれるか、次回の起動時にのみ読み込まれるか、オンデマンドで読み込まれるか、読み込まれません。

COM アドインは、Excel ユーザー インターフェイスを使用して読み込みおよびアンロードすることもできます。 この場合、次の手順を実行します。

  1. [表示] メニューの [ツール バー] をポイントし、[カスタマイズ] をクリックします。

  2. [ツール バー] ダイアログ ボックスで、[詳細設定] タブをクリックします。 カテゴリの一覧で、[ツール] を選択します。 コマンドの一覧で COM アドインを見つけ、任意のメニューまたは CommandBar にコマンドをドラッグします。 [ツール バー] ダイアログ ボックスを閉じます。

  3. 追加した [COM アドイン] コマンドをクリックして、[COM アドイン] ダイアログ ボックスを表示します。 ダイアログ ボックスには、システムにインストールされているすべての COM アドインが一覧表示され、現在読み込まれている COM アドインが選択されています。

COM アドインは、Excel ユーザー インターフェイスを使用して読み込みおよびアンロードすることもできます。 この場合、次の手順を実行します。

  1. Microsoft Office ボタンをクリックし、[Excel のオプション] をクリックします。

  2. [アドイン] をクリックします。

  3. [ 管理] の [COM アドイン] をクリックし、[ Go ] をクリックします。

    [COM アドイン] ダイアログ ボックスには、コンピューターにインストールされているすべての COM アドインが一覧表示されます。 現在読み込まれている COM アドインが選択されています。

詳細については、次の Microsoft Web サイトを参照してください。

Office アドイン プラットフォームの概要

Automation アドイン

Excel では、COM アドインに加えて、Automation アドインもサポートされています。 オートメーション アドインの関数を Excel ワークシートの数式から呼び出すことができる、COM アドイン上のオートメーション アドインのビルド。 COM アドインは、IDTExtensibility2 インターフェイスをサポートするインプロセス COM サーバーである必要があります。ただし、Automation アドインはインプロセスまたはアウトプロセスの COM サーバーであり、IDTExtensibility2 の実装は省略可能です。

Excel で Automation アドインの関数を使用するには、次の手順に従います。

  1. [ツール] メニューの [アドイン] をクリックします。

  2. [Add-Ins] ダイアログ ボックスで、[オートメーション] をクリックします。 登録されている COM サーバーの一覧から Automation アドインを選択し、[OK] をクリックします。

  3. [アドイン] ダイアログ ボックスに Automation アドインが表示されます。 [OK] をクリックして、[Add-Ins] ダイアログ ボックスを閉じます。

Excel 2007 以降で Automation アドインの関数を使用するには、次の手順に従います。

  1. Microsoft Office ボタンをクリックし、[Excel のオプション] をクリックします。

  2. [アドイン] をクリックします。

  3. [ 管理] で、[Excel アドイン] をクリックし、[ 移動] をクリックします。

  4. [アドイン] ダイアログ ボックス 、[ オートメーション] をクリックします。 登録されている COM サーバーの一覧で、Automation アドインをクリックし、[OK] をクリック します

    [アドイン] ダイアログ ボックスに Automation アドインが 表示されます。 [ OK] を クリックして、[アドイン] ダイアログ ボックス 閉じます。

[Add-Ins] ダイアログ ボックスの一覧に追加を行うとき、または一覧で [アドイン] を選択してオフにすると、レジストリに変更が保存されます。 最初に、Excel では次のレジストリ設定を使用して、アドインの一覧の Automation アドインが読み込まれるかどうかを判断します。

 Excel 2002
Key:            HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
String:         OPENx
Sample Value:   /A "ServerName.ClassName"

 Excel 2003
Key:            HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
String:         OPENx
Sample Value:   /A "ServerName.ClassName"
Excel 2007
Key:            HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
String:         OPENx
Sample Value:   /A "ServerName.ClassName"

注: 使用しているバージョンに基づいて Office のバージョン番号を変更します。


文字列値で使用される /A スイッチは、Excel 以前の新しいスイッチであり、オートメーション アドインの読み込みに特に使用されます。 すべての Automation アドインはオンデマンドで読み込まれます。Automation アドインの読み込み動作を変更できる設定はありません。

[Add-Ins] ダイアログ ボックスに一覧表示されている Automation アドインがクリアされると、アドインの ProgID と同じ名前のサブキーが次のレジストリ キーに作成されます。



HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager Excel 2003:



HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager このレジストリ設定により、アドインの一覧に追加した Automation アドインは、読み込まない場合でも一覧に保持されます。

詳細については、次の Microsoft Web サイトを参照してください。

Office アドイン プラットフォームの概要

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

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

を実装
する Automation アドイン IDTExtensibility2 は、[COM Add-Ins] ダイアログ ボックスと [Add-Ins] ダイアログ ボックスの両方を使用して Excel ユーザー インターフェイスに読み込むことができます。 次に、これらのダイアログ ボックスの一方または両方に読み込まれるかどうかに基づいて、Automation アドインの動作について説明します。

  • [アドイン] ダイアログ ボックスでのみ読み込まれます。

    アドインはオンデマンドで読み込まれます。 アドインの関数は、ワークシート内の数式から呼び出される場合があります。

  • [COM アドイン] ダイアログ ボックスでのみ読み込まれます。

    アドインは COM アドインとして読み込まれ、その読み込み動作はレジストリの設定から決定されます。 アドイン内の関数は、ワークシート内の数式から呼び出すことはできません。

  • [COM アドイン] ダイアログ ボックスと [アドイン] ダイアログ ボックスの両方に読み込まれます。

    アドインの 2 つの個別のインスタンスが読み込まれます。 1 つのインスタンスが COM アドインとして読み込まれ、もう 1 つのインスタンスが Automation アドインとして読み込まれます。 COM アドイン インスタンスは、レジストリに示されている読み込み動作を使用します。Automation アドイン インスタンスはオンデマンドで読み込まれます。 2 つのインスタンスは互いに独立して動作し、グローバル変数を共有しません。

Automation アドインはオンデマンドで読み込まれるため、Excel では、セル編集モードの間にアドインの読み込みを試みる場合があります。 そのため、IDTExtensibility2 をサポートする Automation アドインを開発する場合は、アドインの読み込み中に Excel の状態を変更しようとする操作を行わないように注意する必要があります。 詳細については、以下のサポート技術情報を参照してください。

284876 バグ: オートメーション Add-In 読み込み

時に Excel が失敗する (c) Microsoft Corporation 2001、すべての権利予約。 Microsoft Corporation の Lori B. Turner による投稿。
 

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×