2012-05-18 13 views
7

Ich kann Auswahlbereich von Excel nicht bekommen. Ich benutze unten Codeblock und ich kann aktives Blatt so erhalten. aber ich brauche nur Auswahlbereich. Wie kann ich das machen?Wie bekomme ich den Auswahlbereich von 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; 

danke für die beratung.

Antwort

10

Die Auswahl ist eine Eigenschaft der Anwendung, so dass Sie sollten so etwas wie verwenden:

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; 

Genau darauf achten, dass das Objekt durch Auswahl zurück etwas anderes fromn ein Bereich sein könnte (zB könnte es ein Diagramm sein), also sollten Sie nach Nullwerten von SelectedRange suchen.

+4

das ist Arbeit. aber ich kann auch so machen: Microsoft.Office.Interop.Excel.Range selectedRange = ExApp.ActiveWindow.RangeSelection; –

+0

danke, wie kann ich verstehen, dass ausgewählter Bereich leer ist, auch wenn ich eine einzelne Zelle wähle, die nicht leer oder null ist. –

+0

Dou bedeutet, dass yoy überprüfen möchten, ob die ausgewählte Zelle nichts enthält? –