2012-05-18 20 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

選択は、アプリケーションのプロパティですので、あなたのようなものを使用する必要があります。ただ、例えば、それはチャートかもしれない(選択によって返されるオブジェクトはレンジfromn異なるものになる可能性があることに注意してください

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; 

を)ので、SelectedRangeのnull値をチェックする必要があります。

+4

これは作業です。私はこのようにすることもできます:Microsoft.Office.Interop.Excel.Range selectedRange = ExApp.ActiveWindow.RangeSelection; –

+0

ありがとう、どのように私は選択範囲が空であることを理解することができます、空またはnullでない単一のセルを選択した場合でも。 –

+0

touは、選択したセルに何も含まれていないかどうかを確認したいという意味ですか? –