例: Comaddin.exe Office 2000 で COM アドインの Visual C で記述

文書翻訳 文書翻訳
文書番号: 230689
すべて展開する | すべて折りたたむ

目次

概要

Comaddin.exe は、建物を示しています、自己解凍形式の実行可能ファイルは、Office 2000 または Office XP のコンポーネント オブジェクト モデル (COM) アドインが Visual C を使用します。COM アドインはインプロセス COM サーバーを 1 つまたは複数の Office 2000 または Office XP のアプリケーションのコンテキスト内で実行するように設計でです。COM アドインのオフィス環境を拡張する柔軟性、効率性、統一された方法を提供します。

COM アドインは、アプリケーション (VBA) の Visual Basic、C および C++、C#、および Office 2000 Developer または Office XP Developer エディションの Microsoft の Visual Basic などの COM コンポーネントを作成できる任意のプログラミング言語を使用して構築されています。

このサンプルは、COM アドインが Visual C でビルドするに必要な手順を示します。サンプル ユーザー独自 Office アドインを作成する拡張できる基本的なアドイン シェルを作成します。

詳細

次のファイルは、Microsoft ダウンロード センターからダウンロードできます。
Comaddin.exe
リリース日: 1999 年 1 月 4 日

マイクロソフトのサポート ファイルをダウンロードする方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
119591 オンライン サービスからマイクロソフトのサポート ファイルを入手する方法
マイクロソフトは、このファイルのウイルスをスキャンしました。マイクロソフトは、ファイルが転記された日付に利用可能な最新のウイルス検出ソフトウェアを使用します。ファイルは、ファイルに不正な変更を防止するのに役立つセキュリティが強化されたサーバーに格納されます。

サンプル ファイルについて

Comaddin.exe 以下のファイルを任意のフォルダーに抽出されます。
   FileName                    Size
   ----------------------------------------
   
   TestAddin.dsw               541 bytes
   TestAddin.dsp               4.11 KB 
   ComAddin.h                  6.19 KB
   ComAddin.cpp                8.38 KB
   ComAddin.def                205 bytes
   MyAddin.cpp                 10.6 KB
   MyAddinCF.cpp               2.18 KB
   BttnHandler.cpp             6.27 KB

IDTExensibility2

Office のアドインに、COM オブジェクトで、IDTExensibility2 インタ フェース Microsoft アドイン デザイナー タイプ ライブラリ (Msaddndr.dll) の手順に従ってサポートしなければなりません。インポートする必要がないため、ComAddin.h でこのインターフェイスを宣言されています。すべての COM アドインは、このインターフェイスから継承し、それぞれの 5 つの方法は、実装する必要があります。
  • OnConnection
  • OnDisconnection
  • OnAddInsUpdate
  • OnStartupComplete
  • OnBeginShutdown
COM アドインが最初に読み込まれたときに、IDTExtensibility2 の QueryInterface 呼び出しが行われました。この呼び出しが失敗した場合は、アドインがアンロードされます。呼び出しが成功した場合は、ホスト アプリケーションはアドインの状態に対する変更を通知するために返された参照を使用します。それぞれの方法について説明します。

OnConnection

COM アドインの接続されているときに、OnConnection イベントが発生します。アドインの起動時に、エンドユーザーまたはオートメーションに接続する可能性があります。OnConnection が S_OK を返す場合は、アドインが読み込まれる言います。その他の値が返された場合、ホスト アプリケーションがすぐにアドインへの参照を解放し、オブジェクトは破棄されます。

OnConnection は、次の 4 つのパラメーターを取ります。
  • アプリケーションが、ホスト アプリケーションの IDispatch インターフェイスへの参照。
  • ConnectMode - アドインが接続された方法を指定する定数を指定します。
    • ext_cm_AfterStartup - エンド ・ ユーザは、COM アドインのダイアログ ボックスからが起動します。
    • ext_cm_CommandLine - コマンドラインから接続します。
    • ext_cm_External - 外部アプリケーションは、オートメーションによって接続されています。
    • ext_cm_Startup - ホスト アプリケーションの起動時に開始します。この現象は、レジストリ設定によって制御できます。
  • AddInInst - このアドインは、ホスト アプリケーションの COMAddIns コレクション内を参照する COMAddIn オブジェクトへの参照を指定します。
  • カスタムのユーザー定義データを格納できるバリアント型の配列。


OnDisconnection

OnDisconnection イベントは、COM アドインが切断された場合は、だけで、メモリからアンロードする前に発生します。アドインにする必要がありますこのイベントには、リソースのクリーンアップを実行し、ホスト アプリケーションに加えられた変更を復元します。

OnDisconnection は、次の 2 つのパラメーターを取ります。
  • RemoveMode - アドインが切断された方法を指定する定数。
    • ext_dm_HostShutdown - ホスト アプリケーションの終了時に切断します。
    • ext_dm_UserClosed - エンドユーザーまたはオートメーション コント ローラーを切断します。
  • カスタムのユーザー定義データを格納できるバリアント型の配列。


OnAddInsUpdate

登録済みの COM アドインのセットを変更すると、OnAddInsUpdate イベントが発生します。つまり、COM アドインのインストールされているか、ホスト アプリケーションから削除するたびに、このイベントが発生します。


OnStartupComplete および OnBeginShutdown

ホスト アプリケーションからまたはアプリケーションがそれ自体をメモリからアンロードまたはロード中のため、ユーザーとの対話避ける必要があります、状態を入力すると、アドインの OnStartupComplete および OnBeginShutdown イベントを通知します。OnStartupComplete は、アドインの起動時には、接続した追加でホストがシャット ダウン時に切断された場合、OnBeginShutdown だけ起動しますとのみ発生します。

これらのイベントが発生すると、ユーザー インターフェイスをホスト アプリケーションが完全にアクティブなであるため、その場合は OnConnection や OnDisconnection からできない特定のアクションを実行する唯一の方法があります。

COM アドインの登録

通常の COM 登録以外は、COM アドインが自分自身で安全に実行することができます各 Office 2000 アプリケーションに登録する必要があります。特定のアプリケーションを登録するには、サブキーは ProgID を使用して、このキーの下の次の場所の名前として、アドインの作成をします。

HKEY_CURRENT_USER\Software\Microsoft\Office\<appname>\Addins\<addinprogid></addinprogid></appname>
アドインでこのキーの場所の表示名と詳しい説明の両方の値を提供できます。また、アドイン"LoadBehavior"という名前の DWORD 値を使用して、目的の読み込み方法を指定する必要があります。この値を決定しますどのようにアドインがホスト アプリケーションによって読み込まれ、次の値の組み合わせで構成されています。
  • 0x00 = の切断 - ロードではありません。
  • 0x01 接続 = - 読み込まれます。
  • 0x02 bootload - アプリケーションの起動時の負荷を = します。
  • 0x08 demandLoad - ユーザーによってのみを要求するときの負荷に =。
  • 0x16 ConnectFirstTime - 1 回だけ (次回の起動時) にロードの =。
指定されている標準的な値が 0x03 です (接続 |Bootload)。

アドインは、IDTExtensibility2 を実装する必要があります指定することも、DWORD 値"と呼ばれるユーザー インターフェイスをサポートしない操作に対して安全であるかどうかを示す CommandLineSafe"。値 0x00 False、0x01 True です。このサンプル メッセージ ボックスを表示するためには、コマンドラインの実行には、安全ではありませんし、したがって 0x00 に値を設定します。

はじめに

アドインの作成を開始するのには、サンプル プロジェクトをコンパイル、ビルドされた DLL には、regsvr32.exe を実行および、Microsoft Word、Excel、Powerpoint および Frontpage 2000 を起動します。「こんにちは」によるとではどのようなアプリケーションを通知するダイアログ ボックス、アドインが読み込まれるときに開くを参照してくださいする必要があります。

(c) Microsoft Corporation 1999 年、すべての権利予約します。リチャード ・ r ・ テイラー、マイクロソフト コーポレーションによって出資します。

プロパティ

文書番号: 230689 - 最終更新日: 2011年7月22日 - リビジョン: 7.0
キーワード:?
kbinfo kbdownload kbfile kbautomation kbsample kbmt KB230689 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:230689
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com