VSTO在文本框中显示选定的单元格引用

本文关键字:单元格 引用 显示 文本 VSTO | 更新日期: 2023-09-27 18:16:13

我有一个Windows窗体与值的列表显示每个相应的文本框,告诉程序在哪个单元格中显示它。当前用户输入一个范围(例如:"A1","G6"等),其余的留空。

是否有任何方法可以单击进入文本框,然后单击单元格并使该单元格引用出现在文本框中(就像Goal Seek的工作方式一样)?

VSTO在文本框中显示选定的单元格引用

在您的VSTO代码中,您应该能够处理工作表SelectionChange事件

例如,在我们拥有的VSTO项目中,我们在启动时订阅每个工作表的OnChange事件:

  private List<Excel.Worksheet> _Worksheets = new List<Excel.Worksheet>();
  private void ThisWorkbook_Startup(object sender, System.EventArgs e)
  {
   foreach (Excel.Worksheet sheet in Worksheets) //Could test for sheet name here
   {
    _Worksheets.Add(sheet);
    sheet.SelectionChange += 
        new Excel.DocEvents_SelectionChangeEventHandler(Sheet_SelectionChange);
   }
  }

你应该能够得到ActiveCell在你的处理程序,类似于:

Excel.Range activeCell = (Excel.Range) this.Application.ActiveCell;
//get the cell value (or other properties)
object value = rng.Value;

一旦你有了对单元格的引用,你就可以通过使用这个答案中的代码来获得地址。

你应该可以更新你的文本框的值