ドキュメント レベルのカスタマイズにおけるデータ (概要)

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

Microsoft Office のバージョン

  • 2007 Microsoft Office system

  • Microsoft Office 2003

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Microsoft Office ドキュメントは、データのリポジトリとして使用されることがあります。これまでは、Office アプリケーションを起動しなければ、このようなデータにアクセスできませんでした。しかし、Microsoft Office Word または Microsoft Office Excel 用のドキュメント レベルのカスタマイズでは、Excel または Word を起動しなくてもアクセスできる埋め込みのデータ アイランドにデータを格納できます。

データとドキュメントの分離

データ アイランドとは、Office ドキュメントに埋め込まれているデータを格納する XML ドキュメントです。この XML ドキュメントには、Office アプリケーションを起動しなくてもアクセスできます。データは、実際には 2 つの場所にあります。ドキュメントの内部と、それとは分離された埋め込みのデータ アイランド内です。データ アイランドとドキュメントとの同期を維持するために、データ バインディングが使用されます。サーバーで実行中のコードによってデータ アイランドが変更された場合、Office ドキュメントが開かれてドキュメントの分離コードが実行されたときにドキュメントがデータ アイランドと同期されます。

このモデルには、いくつかの利点があります。

  • スキーマ指向プログラミング

  • データのキャッシュ

  • サーバー側データ アクセス

スキーマ指向プログラミング

Visual Studio Tools for Office では、データ アイランドとの対話を定義するスキーマ指向プログラミング モデルに、型指定されたデータ セットを使用しています。これにより、ドキュメントから独立した検証コードをデータに追加できます。検証をドキュメントから分離すると、データ検証コードを他のドキュメントに移植できるようになります。

データのキャッシュ

データ アイランドには、オフラインで使用できるデータが格納されます。ドキュメント内にキャッシュされるデータ項目にデータが含まれる場合、ドキュメントはデータ アイランドとやり取りできます。CachedAttribute 属性を使用して宣言したデータ ソースは、データ アイランドに永続化されます。詳細については、「キャッシュされたデータ」および「方法 : オフラインで使用するデータまたはサーバー上で使用するデータをキャッシュする」を参照してください。

サーバー側データ アクセス

データ アイランドには外部的にアクセスできるので、Office を起動しなくてもドキュメントに埋め込まれたデータを変更できます。これにより、サーバーにあるドキュメントを迅速にバッチ処理できます。アクセスできるのは、ドキュメント内のすべてのデータではなく、キャッシュ内のデータだけであることに注意してください。

Office アプリケーションの起動なしでのサーバー上のドキュメントへのデータ読み込み

ドキュメントに埋め込まれたデータ アイランドは、Office アプリケーションを起動せずにデータを読み込むことができます。ドキュメントを作成し、データのスキーマをそのドキュメントに関連付けます。その後で、ドキュメントをサーバーに保存します。サーバー側コード (たとえば ASP.NET ページの分離コード) は、Visual Studio Tools for Office ランタイムのメソッドを呼び出してデータ アイランドにデータを読み込みます。詳細については、「サーバー上のドキュメント内のデータへのアクセス」を参照してください。

Office アプリケーションの起動なしでのドキュメント埋め込みデータの ASP.NET Server Pages への公開

ドキュメントを作成し、データ スキーマをそのドキュメントに関連付けることによって、データを公開できます。その後で、ドキュメントをサーバーに保存します。ASP.NET ページ内のコードでは、ドキュメントをデータ ソースとして扱い、埋め込みのデータ アイランドを読み取ったり、変更したりできます。Visual Studio Tools for Office には、ドキュメントからデータ アイランドを読み取ったり、それをデータ ソースとして ASP.NET ページに公開したり、データへの読み書きを実行したりできるコンポーネントが用意されています。詳細については、「方法 : サーバー上のブックからキャッシュされたデータを取得する」を参照してください。

オフラインでのドキュメントの編集

サーバーへの接続を使用してデータをデータ アイランドに読み込んだ後で、ネットワーク接続のない、航空機での移動のような切断された状況でドキュメントを使用できます。データ アイランド内のデータは、サーバーへの接続がない場合でも使用可能であり、操作することができます。データ アイランドに加えた変更は、接続が使用可能になった後でサーバー データに反映できます。詳細については、「データ保存の概要」および「方法 : ホスト コントロールからのデータでデータ ソースを更新する」を参照してください。

データ セキュリティ

ソリューションが、データベース、Web サービス、他のサーバー アプリケーションなどの外部データ ソースに接続する場合は、すべての入力の検証をクライアントだけでなくデータ ソースでも実行します。ドキュメント内にキャッシュされるデータも、ドキュメントの外部からアクセスできるので、予期したとおりになるとは限りません。これと同じ理由で、ユーザーの目に触れるべきではないデータはキャッシュに保存しないでください。

データを安全に扱う方法のガイドラインについては、「セキュリティとユーザー入力」および「安全なクライアント アプリケーション (ADO.NET)」を参照してください。

参照

概念

コントロールへのデータのバインド

キャッシュされたデータ

サーバー上のドキュメント内のデータへのアクセス

XML スキーマとデータ (Visual Studio Tools for Office)

ドキュメント レベルのカスタマイズのデータ モデル

その他の技術情報

Office ソリューションにおけるデータ