当用户在 Excel 中进行选择时,如何使用范围动态更新文本框。 C#
How to update dynamically a textBox with the range when user makes a selection in Excel. C#
我正在使用 VSTO 在 C# 中开发加载项,
实际上我想让用户使用鼠标 select 范围,当他这样做时,一个文本框会随着范围不断更新,以显示当前 selection。我该怎么做?
现在,我可以获得 selected 范围,但前提是他们按下按钮并更新文本框,但我不想要这个。
顺便说一下,如果有人知道如何像 excel 那样在 "Solver" 到 select 范围内进行输入,它也可以工作。
我想做这样的事情,没有点击按钮,只是 select 它会更新文本字段
This is how solver works when you want to select a range of cells
您可以连接一个 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;
}
}
我正在使用 VSTO 在 C# 中开发加载项, 实际上我想让用户使用鼠标 select 范围,当他这样做时,一个文本框会随着范围不断更新,以显示当前 selection。我该怎么做?
现在,我可以获得 selected 范围,但前提是他们按下按钮并更新文本框,但我不想要这个。
顺便说一下,如果有人知道如何像 excel 那样在 "Solver" 到 select 范围内进行输入,它也可以工作。
我想做这样的事情,没有点击按钮,只是 select 它会更新文本字段 This is how solver works when you want to select a range of cells
您可以连接一个 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;
}
}