Как динамически обновить текстовое поле с диапазоном, когда пользователь делает выбор в Excel. C # - PullRequest
0 голосов
/ 08 ноября 2018

Я работаю над надстройкой в ​​C #, используя VSTO, На самом деле я хочу позволить пользователю выбирать диапазон с помощью мыши, и пока он делает это, текстовое поле постоянно обновляется с диапазоном, чтобы показать текущий выбор. Как я могу это сделать?

Теперь я могу получить выбранный диапазон, но только если они нажимают кнопку, и это обновляет текстовое поле, но я не хочу этого.

Кстати, если кто-то знает, как сделать ввод, как Excels, в «Солвере», чтобы выбрать диапазон, он тоже будет работать.

Я хочу сделать что-то вроде этого, без нажатия кнопок, просто выберите и он обновит текстовое поле Так работает солвер, когда вы хотите выбрать диапазон ячеек

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете подключить Событие WorkbookBase.SheetSelectionChange, и в этом вы можете запросить объект диапазона, чтобы сообщить диапазон, который выбрал пользователь.

Пример кода:

private void ExcelAppEvents_SheetSelectionChange(object sender, object sheet, object range)
{
     Excel.Range xlRange = null;
     try
     {
          xlRange.MergeCells;
          var retVal = xlRange.get_Address(false, false, Excel.XlReferenceStyle.xlA1, true);
          // Here retvalue may contain your sheetname and cell range, for example [sheet.xlsx]Sheet1!D9:G13, you need to remove these extra characters using some regex.
          // TextBox.Text = retVal;


     }

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