2012-05-18 21 views
7

我不能從excel中選擇範圍。我使用下面的代碼塊,我可以得到這樣的活動工作表。但我只需要選擇範圍。我怎樣才能做到這一點?如何從excel 2010中獲得選擇範圍?

Microsoft.Office.Interop.Excel.Application ExApp = Globals.ThisAddIn.Application as Microsoft.Office.Interop.Excel.Application; 
Microsoft.Office.Interop.Excel.Worksheet ExWorksheet = ExApp.ActiveSheet as Microsoft.Office.Interop.Excel.Worksheet; 
Microsoft.Office.Interop.Excel.Range activeSheet = ExWorksheet.UsedRange as Microsoft.Office.Interop.Excel.Range; 

感謝您的意見。

回答

10

的選擇是應用程序的屬性,所以你應該使用類似:

Microsoft.Office.Interop.Excel.Application ExApp = Globals.ThisAddIn.Application as Microsoft.Office.Interop.Excel.Application; 
Microsoft.Office.Interop.Excel.Range SelectedRange = ExApp.Selection as Microsoft.Office.Interop.Excel.Range; 

只是要小心,通過選擇返回的對象可以是不同的fromn一個範圍的東西(例如,它可能是一個圖表),所以你應該檢查SelectedRange的空值。

+4

這是工作。但我也可以這樣做:Microsoft.Office.Interop.Excel.Range selectedRange = ExApp.ActiveWindow.RangeSelection; –

+0

謝謝,我怎麼理解選擇的範圍是空的,即使我選擇一個單元格不爲空或爲空。 –

+0

是否意味着同意檢查所選單元格是否不包含任何內容? –