1
我有一个Windows窗体,其中包含一个值列表,用于显示每个窗口的相应文本框,以告诉程序要显示哪个单元格。当前用户输入范围(例如“ A1“,”G6“等),为每个他们想要显示的值保留空白。VSTO显示文本框中的选定单元格参考
有什么办法可以点击文本框,然后点击一个单元格并在文本框中显示单元格引用(如Goal Seek的工作方式)?
我有一个Windows窗体,其中包含一个值列表,用于显示每个窗口的相应文本框,以告诉程序要显示哪个单元格。当前用户输入范围(例如“ A1“,”G6“等),为每个他们想要显示的值保留空白。VSTO显示文本框中的选定单元格参考
有什么办法可以点击文本框,然后点击一个单元格并在文本框中显示单元格引用(如Goal Seek的工作方式)?
在您的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的代码来解决问题。
然后,您应该可以更新文本框的值。