2017-09-20 8 views
0

C#でExcel interopを使用して範囲を選択できません。ここで間違っていることを教えてください。私は相互運用c#を使用して範囲を選択してください。

static void Main(string[] args) 
    { 
     Excel.Application xlApp = new Excel.Application(); 
     Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("D:\\s1.xlsx"); 

     Excel.Range xlTestRange; 
     Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[2]; 

     xlTestRange = xlWorksheet.UsedRange; 
     xlTestRange.Select(); 
     xlWorkbook.Save(); 
     xlWorkbook.Close(); 
     xlApp.UserControl = true; 
     xlApp.Quit(); 


    } 
+0

はどのようにあなたは、ブックを閉じてアプリケーションを終了している場合は選択が機能していません知っているのですか? – NetMage

+0

コードは、それが次のエラーをギブンス実行されている場合、ここで – user3289968

+0

を貼り付けている間、私は保存ラインを逃した: を型「System.Runtime.InteropServices.COMException」の未処理の例外が がmscorlib.dllで発生しました追加情報:SelectメソッドRangeクラスが失敗しました – user3289968

答えて

0

次のコードは、LINQPadに私のために働いたExcelに非常に新しいです:

var xlApp = new Excel.Application(); 
var xlWorkbook = xlApp.Workbooks.Open(@"path-to-excel-file"); 
var xlWorksheet = (Excel.Worksheet)xlWorkbook.Sheets[1]; 

var xlTestRange = xlWorksheet.UsedRange; 
xlTestRange.Select(); 
xlWorkbook.Save(); 

xlWorkbook.Close(); 
xlApp.Quit(); 
+0

上記のコードはC#の上では動作しませんでした:( しかし、それは まずExcel.Application xlApp =新しいまずExcel.Application()うまく働いたの下に、私は、コードを実行したときに、 Excel.Workbook xlWorkbook = xlApp.Workbooks.Open( "D:\\ s1.xlsx"); Excel.Range xlTestRange; Excel._Worksheet xlWorksheet = xlWorkbook.Sheets [2]; xlWorksheet.Select(); xlTestRange = xlWorksheet.UsedRange; xlTestRange.Select xlWorkbook.Close(); xlApp.Quit(); – user3289968

+0

これはだと思います。行がありませんでした - > xlWorksheet.Select(); – user3289968

+0

ああ - 私は唯一のワークシートを使用していたので、私のために働いた。 – NetMage

関連する問題