オフラインまたはサーバーで使用するデータをキャッシュする

データ項目をドキュメントへのキャッシュ対象としてマークすると、オフラインで使用できるようになります。 これにより、ドキュメントがサーバーに格納されている場合に、ドキュメント内のデータを他のコードで操作することも可能になります。

適用対象: このトピックの情報は、Excel および Word のドキュメント レベルのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

データ項目をコード内で宣言するときに、または DataSet を使用している場合は [プロパティ] ウィンドウでプロパティを設定することにより、データ項目をキャッシュ対象としてマークできます。 DataSet または DataTable ではないデータ項目をキャッシュする場合は、ドキュメントにキャッシュするための条件を満たしていることを確認してください。 詳細については、「キャッシュ データ」を参照してください。

Note

Cached および WithEvents とマークされている Visual Basic を使用して作成されたデータセット ([データ ソース] ウィンドウまたは [ツールボックス] からドラッグされた、CacheInDocument プロパティが True に設定されているデータセットも含む) には、キャッシュ内で名前の先頭にアンダースコアが付きます。 たとえば、データセットを作成して Customers という名前を付けた場合、キャッシュ内の CachedDataItem の名前は _Customers になります。 ServerDocument を使用してこのキャッシュされた項目にアクセスする場合は、Customers の代わりに _Customers を指定する必要があります。

コードを使用してドキュメントにデータをキャッシュするには

  1. データ項目のパブリック フィールドまたはパブリック プロパティを、プロジェクト内のホスト項目クラス (Word プロジェクトの ThisDocument クラスや、Excel プロジェクトの ThisWorkbook クラスなど) のメンバーとして宣言します。

  2. このメンバーに CachedAttribute 属性を適用して、ドキュメントのデータ キャッシュに格納するデータ項目としてマークします。 次の例では、この属性を DataSet のフィールド宣言に適用します。

    [Microsoft.VisualStudio.Tools.Applications.Runtime.Cached()]
    public DataSet employeesDataSet;
    
  3. データ項目のインスタンスを作成して必要に応じてデータベースから読み込むコードを追加します。

    データ項目は、最初に作成されたときにのみ読み込まれます。その後、キャッシュはドキュメントと共に保持されます。更新するには、他のコードを記述する必要があります。

プロパティ ウィンドウを使用してドキュメントにデータセットをキャッシュするには

  1. Visual Studio デザイナーのツールを使用して、データセットをプロジェクトに追加します。たとえば、[データ ソース] ウィンドウを使用してプロジェクトにデータ ソースを追加します。

  2. データセットのインスタンスをまだ作成していない場合は作成し、デザイナーでインスタンスを選択します。

  3. [プロパティ] ウィンドウで、CacheInDocument プロパティを True に設定します。

    詳細については、「Office プロジェクトのプロパティ」を参照してください。

  4. [プロパティ] ウィンドウで、Modifiers プロパティを Public に設定します (既定では Internal です)。