2

バインド/イベントの目的で C# の ObserveableCollection に変換したい Excel の行があるため、すべてのアクセサー クラスは、ソースの Excel シートから最新のデータを取得していることを認識しています。これはどのように行われますか?

明確化: ワークブック プロジェクトではなく、Excel アドイン プロジェクトを使用しているため、XMLMappedRange コントロールがオプションであるかどうかはわかりません。

4

2 に答える 2

5

VSTO を使用すると、いくつかのオプションがあります。

  1. Excel.Worksheetクラスから、 Worksheet.Changeイベント にアクセスできます。
  2. NamedRangeクラスから、NamedRange.Changeイベント (別のコメントで言及した Microsoft.Office.Interop.Excel.DocEvents_ChangeEventHandler デリゲートを使用) に アクセスできます。
  3. NamedRange クラスは、 DataBindingsプロパティを介した単純な一方向のデータバインディングもサポートしています。その例は、配列を NamedRange にバインドする方法の説明に示されています。
  4. もう 1 つの可能性は、データバインディングもサポートする XmlMappedRangeコントロールです。

NamedRange と XmlMappedRange の使用に関する優れた入門書は、「The VSTO Programming Model 」にあります。Visual Studio Tools for Office (VSTO) 2005 ガイド ツアーには、NamedRange を使用した適切なウォークスルーがあります。

これが役立つことを願っています...

マイク

于 2009-12-07T03:08:57.897 に答える
0

範囲変更イベントにOnChangedを追加できます。

于 2009-12-02T15:25:34.457 に答える