ドキュメント レベルのカスタマイズでキャッシュされたデータCached data in document-level customizations

ドキュメント レベルのカスタマイズの主な目的は、Office ドキュメントのビューからデータを分離します。A primary goal of document-level customizations is to separate data from view in Office documents. データは、数値やテキストなど、ドキュメントに格納されている情報を指します。Data refers to the information that is stored in the document, including numbers and text. ビューは、ユーザー インターフェイスおよび Microsoft Office Word および Microsoft Office Excel のオブジェクト モデルを指します。View refers to the user interface and the object model of Microsoft Office Word and Microsoft Office Excel.

Visual Studio では、ドキュメント レベルのカスタマイズ ビューからデータを分離として埋め込まれるデータを有効にすると、データ アイランドも呼ばれ、データ キャッシュします。Visual Studio separates the data from the view in document-level customizations by enabling data to be embedded as a data island, also called the data cache. 読み取りまたは Word または Excel を起動せずに直接データを変更できます。You can read or modify the data directly without starting Word or Excel. これは、機能は、Microsoft Office がインストールされていないサーバー上のドキュメントのデータを変更する必要がある場合に便利です。This is useful when you need to modify data in documents on a server that does not have Microsoft Office installed. Word と Excel は、クライアントの環境での使用を意図していますサーバー上で実行される、設計されていません。Word and Excel are intended for use in client environments; they are not designed to be run on a server.

適用対象: このトピックの情報は、ドキュメントに適用されます-Excel および Word のレベルのプロジェクト。Applies to: The information in this topic applies to document-level projects for Excel and Word. 詳細については、「Office アプリケーションおよびプロジェクトの種類で使用できる機能」を参照してください。For more information, see Features available by Office application and project type.

ドキュメント レベルのカスタマイズの詳細については、次を参照してください。 Office ソリューション開発の概要(VSTO) のドキュメント レベル カスタマイズのアーキテクチャします。For more information about document-level customizations, see Office solutions development overview (VSTO) and Architecture of document-level customizations.

キャッシュされたデータのプログラミング モデルを理解します。Understand the cached data programming model

データ アイランドは、特定の要件を満たすソリューションのすべてのオブジェクトを含めることができます。The data island can contain any object in your solution that meets certain requirements. これらのオブジェクトを含めるDataSetオブジェクト、DataTableオブジェクト、および他のオブジェクトをシリアル化できる、XmlSerializerクラス。These objects include DataSet objects, DataTable objects, and any other object that can be serialized by the XmlSerializer class. 詳細については、次を参照してください。データ キャッシュします。For more information, see Cache data.

キャッシュされたデータのビューを提供するには、Windows フォーム コントロールをバインドすることができますとホスト コントロールデータ アイランド内のオブジェクトをドキュメントにします。To provide the view for the cached data, you can bind Windows Forms controls and host controls on the document to objects in the data island. データ アイランドと、データ バインド コントロールの間のデータ バインディングは、2 つの同期を維持します。Data binding between the data island and the data-bound controls keeps the two synchronized. コントロールの独立したデータを検証コードを追加することもできます。You can also add validation code to the data that is independent of the controls. 詳細については、「Office ソリューションでのコントロールにデータをバインド」を参照してください。For more information, see Bind data to controls in Office solutions.

ホスト コントロールは、バージョンの Excel および Word オブジェクト モデルでのネイティブ オブジェクトに拡張されます。Host controls are extended versions of native objects in the Excel and Word object models. ネイティブのオブジェクトとは異なり、管理対象のデータ オブジェクトに直接ホスト コントロールをバインドできます。Unlike the native objects, host controls can be bound directly to managed data objects. 詳細については、次を参照してください。ホスト項目とホスト コントロールの概要Windows フォーム コントロールの Office ドキュメントの概要します。For more information, see Host items and host controls overview and Windows Forms controls on Office documents overview.

アクセスは、サーバー上のデータをキャッシュします。Access cached data on the server

使用することができます、ドキュメント内のキャッシュされたデータにアクセスする、ServerDocumentクラス。To access cached data in a document, you can use the ServerDocument class. このクラスの一部である、 Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtime、し、実行中の Excel または Word なしのサーバーで使用できます。This class is part of the Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtime, and it can be used on a server without running Excel or Word. ときに、ユーザーは、キャッシュされたデータを変更する、データにバインドされているすべてのコントロールは、変更を自動的に同期され、ユーザーには、更新されたデータが表示されます、ドキュメントを開きます。When the user opens the document after you modify the cached data, any controls that are bound to the data are automatically synchronized to the changes, and the user is presented with the updated data. 詳細については、次を参照してください。サーバー上のドキュメント内のデータ アクセスします。For more information, see Access data in documents on the server.

Excel および Word は、クライアントでの表示にのみ、サーバー上のデータに書き込むには必要ありません。Excel and Word are not needed to write to the data on the server, only to view it on the client. Excel および Word もする必要はありません、サーバーにインストールします。Excel and Word do not even need to be installed on the server. これは、スケーラビリティの向上とデータ アイランドを含むドキュメントの高速のバッチ処理を実行する機能を提供します。This provides improved scalability and the ability to perform fast batch processing of documents that contain data islands.

データをオフラインで使用するキャッシュData caching for offline use

データ アイランドにデータを格納するオフラインのシナリオを実現できます。Storing data in the data island enables offline scenarios. ユーザーが最初にドキュメントを開くか、サーバーからドキュメントを要求、データ アイランドは、最新のデータを格納します。When a user first opens a document or requests the document from the server, the data island is filled with the most recent data. データ アイランドは、ドキュメントにキャッシュされているしはオフライン利用できます。The data island is cached in the document and is then available offline. ユーザー (とコード) は、ライブ接続が使用できない場合でも、データを操作することができます。The user (and your code) can manipulate the data, even though no live connection is available. ユーザーが再接続するときは、サーバーのデータ ソースにデータへの変更を反映できます。When the user reconnects, the changes to the data can be propagated back to a server data source.

キャッシュされたデータとカスタム XML 部分の比較Cached data and custom XML parts compared

カスタム XML 部分は、2007 Microsoft Office system のドキュメントの XML の任意の部分を格納する方法として導入されました。Custom XML parts were introduced in the 2007 Microsoft Office system as a way to store arbitrary pieces of XML in a document. カスタム XML 部分は多くのデータ キャッシュとして同じシナリオで便利ですが、いくつかの違いは、データ アイランドとカスタム XML 部分があります。Although custom XML parts are useful in many of the same scenarios as the data cache, there are some differences between the data island and custom XML parts. カスタム XML 部分の詳細については、次を参照してください。カスタム XML 部分の概要します。For more information about custom XML parts, see Custom XML parts overview.

次の表では、相違点と共通の一部を示します。The following table lists some of the differences and similarities.

データ キャッシュData cache カスタム XML 部分Custom XML parts
Office アプリケーションには、これらを使用できますか。Which Office applications can use these? 次のアプリケーションのドキュメント レベルのカスタマイズ:Document-level customizations for the following applications:

- Excel- Excel
- Word- Word
次のアプリケーションのドキュメント レベルおよびアプリケーション レベルのソリューション:Document-level and application-level solutions for the following applications:

- Excel- Excel
- PowerPoint- PowerPoint
- Word- Word
どのような種類のデータを格納することができますか。What types of data can you store? 特定の要件を満たすカスタマイズ アセンブリ内の任意のパブリック オブジェクト。Any public object in your customization assembly that meets certain requirements. 詳細については、次を参照してください。データ キャッシュします。For more information, see Cache data. 任意の XML データ。Any XML data.
Microsoft Office アプリケーションを起動せず、データにアクセスすることができますか。Can you access the data without starting Microsoft Office applications? 使用して、はい、ServerDocumentクラスによって提供される、Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtimeします。Yes, by using the ServerDocument class provided by the Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtime. 内のクラスを使用して、はい、System.IO.Packaging名前空間、または Open XML 形式の SDK を使用しています。Yes, by using classes in the System.IO.Packaging namespace, or by using the Open XML Format SDK.

関連項目See also