мониторинг диапазона ячеек в Excel 2007 с помощью C # / VSTO - PullRequest
2 голосов
/ 02 декабря 2009

У меня есть строка в excel, которую я хотел бы перевести в ObserveableCollection в C # для целей привязки / событий, поэтому все классы доступа знают, что получают самые последние данные из исходного листа Excel. Как это будет сделано?

Пояснение: я использую проект надстройки Excel, а не проект рабочей книги, поэтому я не уверен, является ли опция XMLMappedRange Controls опцией.

Ответы [ 2 ]

5 голосов
/ 07 декабря 2009

Используя VSTO, у вас есть несколько вариантов:

  1. Из класса Excel.Worksheet можно получить доступ к событию Worksheet.Change .
  2. Из класса NamedRange можно получить доступ к событию NamedRange.Change (в котором используется делегат Microsoft.Office.Interop.Excel.DocEvents_ChangeEventHandler, который вы упомянули в другом комментарии).
  3. Класс NamedRange также поддерживает простую одностороннюю привязку данных через свойство DataBindings , пример которого показан в обсуждении Как связать массив с NamedRange .
  4. Другой возможностью является элемент управления XmlMappedRange , который также поддерживает привязку данных.

Хороший пример использования NamedRange и XmlMappedRange можно найти здесь: Модель программирования VSTO . Достойное прохождение, используя NamedRange, можно найти в Visual Studio Tools for Office (VSTO) 2005 с гидом .

Надеюсь, это поможет ...

Mike

0 голосов
/ 02 декабря 2009

Вы можете добавить OnChanged в событие изменения диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...