Office ソリューションの開発の概要
更新 : 2007 年 11 月
Microsoft Office 2003 または 2007 Microsoft Office system をソリューションのフロント エンドとして使用することで、使い慣れた Microsoft Office ユーザー インターフェイスと、スペル チェック、変更履歴、電子メールのサポートなどの組み込みツールを利用できます。ユーザーが Microsoft Office ソリューションをオフラインにできるため、複雑なソリューションが Web ベースのアーキテクチャを使用する場合より実用性に優れたものになります。
Microsoft Office を使用したソリューション開発方法の概要については、「マネージ コードおよび Visual Studio を使用した Office プログラミング」および「Microsoft Office Developer Center」を参照してください。
プライマリ相互運用機能アセンブリによる Microsoft Office アプリケーションの自動化
アプリケーションのオブジェクト モデルにアクセスするコードを記述することにより、プログラムを使用して Microsoft Office アプリケーションの機能をソリューションに組み込むことができます。オブジェクト モデルとは、さまざまなプロパティやメソッドを通じて機能を公開するクラスの構成です。オブジェクト モデルは Microsoft Office アプリケーションごとに異なります。
Visual Studio Tools for Office から Microsoft Office アプリケーションの機能を使用するためには、そのアプリケーションのプライマリ相互運用機能アセンブリを使用する必要があります。プライマリ相互運用機能アセンブリにより、Office アプリケーションの COM ベースのオブジェクト モデルとマネージ コードとの相互運用を実行できるようになります。
詳細については、「マネージ コードおよび Visual Studio を使用した Office プログラミング」および「Office プライマリ相互運用機能アセンブリ」を参照してください。
Office プロジェクトの種類の選択
Visual Studio Tools for Office には、次のような種類のプロジェクト テンプレートが用意されています。
ドキュメント レベルのカスタマイズ
アプリケーション レベルのアドイン
SharePoint ワークフロー テンプレート
InfoPath フォーム テンプレート
これらのプロジェクトの種類からソリューションに最適なものを選択するには、特定のドキュメントが開いているときにのみコードを実行するか、または Microsoft Office アプリケーションの実行中に常にコードを利用できるようにするかについて検討します。プロジェクト テンプレートの詳細については、「Visual Studio Tools for Office のプロジェクト テンプレートの概要」を参照してください。
作成できるプロジェクトの種類は、開発用コンピュータにインストールされている Microsoft Office アプリケーションによって決まります。詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
ドキュメント レベルのカスタマイズ
ドキュメント レベルのカスタマイズは、Microsoft Office Word または Microsoft Office Excel の 1 つの文書、ブック、テンプレートに関連付けられたアセンブリで構成されます。このアセンブリは、関連付けられているドキュメントを開いたときに読み込まれます作成したカスタマイズに含まれている機能は、関連付けられているドキュメントが開いているときにのみ使用できます。カスタマイズでは、ドキュメントが開いたときに新しいメニュー項目やリボン タブを表示するなどの、アプリケーション全体の変更を行うことはできません。
Visual Studio Tools for Office には、Visual Studio でカスタマイズを作成する際に役立つツールが含まれています。カスタマイズしたドキュメントは Visual Studio ではデザイン画面としてホストされるため、そこにコントロールをドラッグ アンド ドロップすることによってドキュメントをデザインできます。ドキュメント レベルのプロジェクトでは、Windows フォーム コントロール、データ バインディング、統合デバッガなど、他にも多くの Visual Studio 機能を使用できます。
カスタマイズの詳細については、「Excel のドキュメント レベルのカスタマイズのプログラミングの概要」、「Word 用のドキュメント レベルのカスタマイズのプログラミングについて」、および「ドキュメント レベルのカスタマイズのアーキテクチャ」を参照してください。
アプリケーション レベルのアドイン
アプリケーション レベルのアドインは、Microsoft Office アプリケーションに関連付けられているアセンブリで構成されています。通常、アドインは、関連付けられているアプリケーションの起動時に実行されますが、アプリケーションが既に実行されているときにアドインを読み込むこともできます。作成したアドインに含まれている機能は、どのドキュメントが開いているかにかかわらず、アプリケーション自体に対して使用できます。
Visual Studio Tools for Office には、Visual Studio でアドインを作成する際に役立つツールが含まれています。アドイン プロジェクトを作成すると、アドインを表すクラスが自動的に生成されます。このクラスには、ホスト アプリケーションのオブジェクト モデルにアクセスしたりアドインの読み込みおよび終了時にコードを実行したりするときに使用できるプロパティおよびイベントが用意されています。アプリケーション レベルのプロジェクトでは、Windows フォームや統合デバッガなど、他にも多くの Visual Studio 機能を使用できます。
アドインの詳細については、「アプリケーション レベルのアドインのプログラミングについて」および「アプリケーション レベルのアドインのアーキテクチャ」を参照してください。
SharePoint ワークフロー テンプレート
Visual Studio Tools for Office には、SharePoint Web サイトのドキュメントおよびリスト項目の有効期間を管理するためのカスタム ワークフロー テンプレートの作成に役立つツールが用意されています。Visual Studio Tools for Office には、ワークフロー デザイナ、広範なドラッグ アンド ドロップ機能、および必要なアセンブリ参照が含まれています。プロジェクトの作成を開始するには、新しい Office SharePoint ワークフロー ウィザードを使用します。このウィザードを使用すると、Visual Studio でワークフロー テンプレートをデバッグするために必要な構成手順が大幅に減少します。
SharePoint ワークフロー テンプレートの詳細については、「SharePoint ワークフロー ソリューション」を参照してください。
InfoPath フォーム テンプレート
Visual Studio Tools for Office には、InfoPath 2007 フォーム テンプレートの作成に役立つツールが用意されています。InfoPath フォーム テンプレート デザイン環境は、Visual Studio 開発環境に完全に統合されています。Visual Studio 内で、InfoPath 2007 の機能を操作して InfoPath フォーム テンプレートの外観をデザインしたり、マネージ コードを記述して機能を拡張できます。Visual Studio で InfoPath フォーム テンプレートを操作する場合は、InfoPath 2003 用のオブジェクト モデル (Microsoft.Office.Interop.InfoPath.SemiTrust 名前空間のメンバ) と新しい InfoPath 2007 マネージ コード オブジェクト モデル (Microsoft.Office.InfoPath 名前空間のメンバ) のいずれかに対して、Visual C# または Visual Basic でビジネス ロジックを記述します。
詳細については、「InfoPath マネージ コード フォーム テンプレートを開発する」を参照してください。
配置および保守用のデザイン
Office ソリューションをデザインするときには、配置要件が開発方法に与える影響について留意する必要があります。
配置と保守
Visual Studio Tools for Office ソリューションを配置するには、いくつかの方法があります。2007 Microsoft Office system 用のアプリケーション レベルのアドインおよびドキュメント レベルのカスタマイズは、ClickOnce を使用して配置できます。ClickOnce 配置では、ソリューションの自動更新が可能となり、インストールおよび実行の際に必要なユーザーとのやり取りを最小限に抑えることができます。詳細については、「Office ソリューションの配置 (2007 システム)」を参照してください。
Microsoft Office 2003 のアドインおよびカスタマイズの配置方法としては、アセンブリをソリューションの種類によってはドキュメントと共に共有の場所に格納して簡単に保守できるようにする方法や、アセンブリとドキュメントのコピーを各ユーザーに配布してモバイル ワーク スタイルに対応できるようにする方法があります。詳細については、「Office ソリューションの配置 (2003 システム)」を参照してください。
Visual Studio Tools for Office には、SharePoint ワークフロー テンプレートを配置するためのツールは用意されていません。詳細については、「SharePoint ワークフロー ソリューション」を参照してください。
セキュリティ
2007 Microsoft Office system 用のアプリケーション レベルのアドインおよびドキュメント レベルのカスタマイズでは、ソリューションをインストールするとき、および読み込むときに Visual Studio Tools for Office ランタイムが実行する一連のチェックによってセキュリティが確保されます。それらのチェックでは、配置マニフェストの場所が信頼されているかどうか、配置マニフェストの署名に使用される証明書が信頼されているかどうか、ソリューションが信頼のリストに含まれているかどうかなどが確認されます。詳細については、「Office ソリューションにおけるセキュリティ (2007 システム)」を参照してください。
Microsoft Office 2003 ソリューションのセキュリティは、.NET Framework のセキュリティ機能によって確保されます。Visual Studio Tools for Office を使用して作成されたアセンブリの既定のポリシーでは、いずれのアセンブリも実行が許可されていないため、ウイルスやその他の悪意のあるコードからユーザーを保護できます。エンド ユーザーがソリューションを利用できるようにする場合は、事前に管理者がアセンブリに対して完全な信頼を付与する必要があります。詳細については、「Office ソリューションにおけるセキュリティ (2003 システム)」を参照してください。
参照
概念
Excel のドキュメント レベルのカスタマイズのプログラミングの概要
Word 用のドキュメント レベルのカスタマイズのプログラミングについて