1

あるワークシートのコピーを別のワークシートに取得しようとしています。以下は私のコードです。Excel で作成されたインスタンスをリリースしようとしましたが、それでも TaskManager に 1 つのインスタンスが表示されます。

C# コード:

try
{
  wBook = xCel.Workbooks.Open(filePath);
  xCel.Visible = false;
  this.xCel.DisplayAlerts = false;                
  wBook = (Excel.Worksheet)wBook.Worksheets.get_Item(1);
  wBook.Copy(Type.Missing, Type.Missing);                
  wBook = (Excel.Worksheet)wBook.Sheets[1];                
  wBook.SaveAs(strFileCopyPath);                 
}
finally
{
  if (wBook != null)
  {   wBook.Close();                    
      Thread.Sleep(500);
  }                
  Marshal.ReleaseComObject(wBook);               
  Marshal.ReleaseComObject(wBook);                
}

私がここで何をしているのか誰か教えてください。ありがとう

4

2 に答える 2

0

オブジェクトQuit()のメソッドを呼び出すのを忘れました。Excel.Application通常、次のコードを使用して Excel を閉じます (VB.Net コード スニペット)。

xlApp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
xlApp = Nothing
xlBook = Nothing
xlSheet = Nothing
于 2013-03-12T06:41:59.953 に答える