用户在Excel中进行选择时如何动态更新具有范围的textBox。 C#

时间:2018-11-08 15:53:34

标签: c# excel vsto

我正在使用VSTO在C#中进行加载项工作, 实际上,我想让用户使用鼠标来选择范围,而他这样做的同时,一个文本框会随着范围的变化而不断更新,以显示当前的选择。我该怎么办?

现在,我可以获取选定的范围,但前提是他们按下按钮并更新文本框,但我不希望这样做。

顺便说一句,如果有人知道如何像excels一样在“ Solver”中进行选择范围的输入,

我想做这样的事情,没有点击按钮,只需选择它就会更新文本字段 This is how solver works when you want to select a range of cells

1 个答案:

答案 0 :(得分:1)

您可以连接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;


     }

}