2013-05-30 39 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的代碼來解決問題。

然後,您應該可以更新文本框的值。

相關問題