2012-05-18 20 views
7

tôi không thể lấy phạm vi lựa chọn từ excel. tôi đang sử dụng bên dưới khối mã và tôi có thể nhận được tờ hoạt động như thế này. nhưng tôi chỉ cần phạm vi lựa chọn. tôi có thể làm cái này như thế nào?cách lấy phạm vi lựa chọn từ 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; 

cảm ơn lời khuyên.

Trả lời

10

Việc lựa chọn là một tài sản của ứng dụng, vì vậy bạn nên sử dụng một cái gì đó như:

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; 

Chỉ cần cẩn thận rằng đối tượng được trả về bởi Selection có thể là một cái gì đó khác nhau fromn một Range (ví dụ như nó có thể là một biểu đồ), vì vậy bạn nên kiểm tra các giá trị null của SelectedRange.

+4

tính năng này hoạt động. nhưng tôi cũng có thể làm như thế này: Microsoft.Office.Interop.Excel.Range selectedRange = ExApp.ActiveWindow.RangeSelection; –

+0

cảm ơn, làm thế nào tôi có thể hiểu phạm vi được chọn là trống, ngay cả khi tôi chọn một ô đơn lẻ không trống hoặc không. –

+0

có phải là bạn muốn kiểm tra xem ô đã chọn có chứa gì không? –

Các vấn đề liên quan