2012-08-10 51 views
2

我想從色帶控件中獲取活動範圍。只有當功能區上的控件需要時才能訪問選定的單元格。如何從辦公室色帶控制中獲取選定的單元格

目前這是我如何做;

public partial class ThisAddin 
{ 
    private void SheetSelectionChange(object sh, Range target) 
    { 
     int count = target.Count; 

      if (count < 5000) // This is for performance reasons 
      { 
       //Set a custom range property in the office ribbon 
       Req_Tool.ActiveRange = target; 
      { 
    } 
} 

我覺得這是脆弱和浪費。
首先,每次選擇都會改變我的代碼運行。其次,我有兩個副本的選擇使用或不使用。

有一個更好的方法來做到這一點,我俯瞰。

回答

3

您可以通過訪問Application對象的Selection屬性來訪問活動工作表中當前選定的範圍。

private void button1_Click(object sender, RibbonControlEventArgs e) 
{ 
    this.ActiveRange = (Excel.Range)Globals.ThisAddIn.Application.Selection; 
} 

MSDN文檔:

+0

以前這隻能選擇集合中的第一個單元格我。我意識到,當明確指定類型作爲範圍。您必須將其列入*列表 selectedCells *或var。我認爲這值得說明。當然這現在看起來很明顯...去堆棧! – 2012-08-12 14:06:55

相關問題