ActiveX Document ( DocObjectまたはDocObj [ 1 ]とも呼ばれる) は、Microsoft のテクノロジーで、ユーザーが Web ブラウザー内でMicrosoft Word、Excel、およびPDFドキュメントを表示および編集できるようにします。 [ 2 ]これは、Internet Explorer やMicrosoft Office Binder [ 3 ]などのホスト プログラムと、 Microsoft Word、Microsoft Excel、Adobe Readerなどのプログラムからのホスト ドキュメントとの間のコンポーネント オブジェクト モデルコーディング契約のセットを定義します。これにより、保存やナビゲートなどのコマンドに関する通信をネゴシエートしたり、メニューなどのユーザー インターフェイス要素を統合して[ 4 ]統一されたユーザー エクスペリエンスを提供したりできます。
COM構造化ストレージに基づく複合ドキュメント用に設計されたこの技術は、Office Binderのような単一のホスティングプログラムで無制限の種類のドキュメントを格納できます。[ 3 ] ActiveXドキュメントを提供するサーバープログラムは、EXEサーバーまたはDLLサーバーのいずれかです。
ActiveXドキュメントとそのコンテナが、その機能と要件について意思疎通を図るために実装する必要のあるコード契約がいくつか存在する。
ActiveX ドキュメント サーバー アプリケーションは、ドキュメントをホストする ActiveX ドキュメント コンテナが期待する以下のコード コントラクトを実装する必要があります。[ 5 ]
ActiveX ドキュメント コンテナ アプリケーションは、次のコード契約を実装する必要があります[ 6 ]
マイクロソフトは、プログラマーがActiveXドキュメントアプリケーションを作成するのを支援するために、開発者ツールにActiveXドキュメントのサポート機能を搭載しています。
Visual C++では、プログラマーはMFC プロジェクト ウィザードでMicrosoft Foundation Classesの ActiveX ドキュメントのサポートを含めることができます。プログラマーは、プロジェクト作成プロセス中にチェックボックスをオンにすることで、新しいプログラムに ActiveX ドキュメント サーバーやコンテナのサポートを追加することを選択できます。[ 7 ]
Visual Basicでは、ActiveX ドキュメント移行ウィザードを使用すると、プログラマーは VB フォームを ActiveX ドキュメントに変換できます。[ 8 ]
Visual FoxProでは、ActiveDoc 基本クラスが ActiveX ドキュメント サーバーの開発をサポートしています。[ 9 ]