Работа с VSTO excel с использованием C # - PullRequest
1 голос
/ 16 марта 2010

Question1: Как получить доступ к форме Windows и ее элементам управления в VSTO Excel с помощью C #?

Вопрос2: На выполнении приложения книги VSTO Excel, я хочу всего нет. активных столбцов, когда пользователь вставляет данные. Предположим, что пользователь может вставить данные из 5 или 10 столбцов. Через код я хочу выяснить общее количество нет. столбцов (также, если возможно, общее количество строк), как только пользователь вставит / загрузит табличные данные. Как получить неопределенное значение диапазона для ячеек при выполнении VSTO excel, когда данные вставляются в то же самое.

Пожалуйста, помогите мне с кодом для этих двух вопросов.

Ответы [ 2 ]

1 голос
/ 28 мая 2018

Q1: вы можете просто добавить Win Form через -> project -> add new item -> Form Page Вы должны сделать новый экземпляр этой формы.

Например: когда вы создали форму с именем winForm

Example.ExampleForm exampleForm = new ExampleForm();
exampleForm.Show();

Q2:

Я не уверен, что правильно понимаю. Но, например, если у вас есть пустой лист в начале, вы можете сделать это так:

   Excel.Range rng;
   object[,] swap;

   rng = tws.UsedRange;
   swap = rng.Value2;

Значения всех ячеек, в которые будет вставлена ​​пользовательская вставка, как указано выше в массиве объектов. Этот массив основан на 1!

1 голос
/ 19 марта 2010

Q1: То же, что и в приложении winforms, когда вы создаете форму окна, сохраняйте ссылку на нее. Убедитесь, что для формы доступны методы доступа (get; set;).

Q2: Вам необходимо реализовать AppEvents_SheetChangeEventHandler и назначить свойству события Globals.ThisAddin.Application.SheetChange. В обработчике событий вторым аргументом является Excel.Range TargetRange. TargetRange - это объект Excel.Range, содержащий вставленную информацию. Свойство range.Columns.Count возвращает общее количество столбцов в вставленном, range.Rows.Count возвращает общее количество строк в вставленном.

Не уверен, что вы подразумеваете под "как получить неопределенное значение диапазона для ячеек". Вы можете уточнить?

...