次の方法で共有


ListObject 列と行順序の永続性について

更新 : 2007 年 11 月

対象

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

プロジェクトの種類

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

Microsoft Office のバージョン

  • Excel 2003

  • Excel 2007

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

デザイン時にドキュメントに追加された ListObject コントロールにデータをバインドすると、ブックを保存するたびに Visual Studio Tools for Office によって列と行の順序が追跡されます。実行時にユーザーが ListObject の列または行を移動すると、次にブックを開いて ListObject コントロールを再度データ ソースにバインドするときに、新しい順序が維持されます。

列と行の順序を維持する方法

データにバインドされた ListObject が含まれるブックを保存すると、列と行の順序がブックのカスタム ドキュメント プロパティに保存されます。

プロパティの名前は、ワークシートとリスト オブジェクトを組み合わせた名前のハッシュ コードを使用して決定されます。たとえば、Sheet1 の List1 という名前の ListObject コントロールのカスタム ドキュメント プロパティ名は、___2387CEF09___0 のようになります。このプロパティの値が 255 文字を超える長さになると、次の連番が付いた別のカスタム ドキュメント プロパティが作成されます。たとえば、___2387CEF09___1、___2387CEF09___2、のようになります。

カスタム ドキュメント プロパティの値には、列の名前と行の番号が含まれます。たとえば、ListObject が 4 つの行と、LastNameFirstName という名前の 2 つの列で構成されている場合、プロパティの値は、FirstName*LastName%1*2*3*4 になります。ユーザーが行 3 を行 2 の上に移動すると、ブックを保存するときにこのプロパティの値が FirstName*LastName%1*3*2*4 に変更されます。

次にブックを開いたとき、ListObject はカスタム ドキュメント プロパティから情報を読み取り、データを読み込むときに行と列の順序を維持します。

列と行の順序を元に戻す方法

ListObject の列と行の順序を元に戻すには、ResetPersistedBindingInformation メソッドを呼び出します。このメソッドは、指定の ListObject の列と行の順序に関連するカスタム ドキュメント プロパティを削除します。ListObject の列と行の順序を維持しないようにするには、このメソッドをブックの Shutdown イベントから呼び出します。

参照

処理手順

方法 : データに ListObject 列を割り当てる

概念

ListObject コントロール

その他の技術情報

Excel のホスト コントロール