2013-05-30 38 views
1

我有一个Windows窗体,其中包含一个值列表,用于显示每个窗口的相应文本框,以告诉程序要显示哪个单元格。当前用户输入范围(例如“ A1“,”G6“等),为每个他们想要显示的值保留空白。VSTO显示文本框中的选定单元格参考

有什么办法可以点击文本框,然后点击一个单元格并在文本框中显示单元格引用(如Goal Seek的工作方式)?

回答

1

在您的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; 

一旦你到单元格的引用,你可以牛逼他通过使用this answer的代码来解决问题。

然后,您应该可以更新文本框的值。

相关问题