尝试查找迭代器时出现Com异常

时间:2016-06-14 08:23:36

标签: c# excel-interop

我有一个C#控制台应用程序 它使用Excel互操作来打开各种xlsm文件并运行一些宏 一旦宏运行,它关闭Excel并释放最终的COM个对象我有以下内容:

try
{

  foreach(Excel.Workbook wkb in wbs)  //<<<<<<<<line 148
  {
    if(wkb.Name != "HelperRoutinesNetwork.xlsm")
    {
      wkb.Close(false,Type.Missing,Type.Missing);
      if(wkb != null)
      {
        Marshal.FinalReleaseComObject(wkb);
      }
    }
  }

  if(wb != null)
  {
    Marshal.FinalReleaseComObject(wb);
  }


  if(wbs != null)
  {
    Marshal.FinalReleaseComObject(wbs);
  }


  if(xlApp != null)
  {
    xlApp.Quit();
    Marshal.FinalReleaseComObject(xlApp);
  }

}
catch(Exception ex)
{
  Console.WriteLine("EXCEPTION_tryingToReleaseComObjs: {0}",ex.ToString());
}

它在foreach第148行(上面标记)上发现例外:

enter image description here

造成这种情况的原因是什么?如何避免?

0 个答案:

没有答案