title: Exception (HRESULT: 0x800AC472) when using Excel.Worksheet.Select after calling Excel.Workbook.SaveAs
body: <p>I'm opening an xlsx file and saving each sheet into a csv file.</p>
  
  <p>Here is the relevant code for the saving:</p>
  
  <pre><code>int i=0;
  foreach (Excel.Worksheet s in app.ActiveWorkbook.Sheets)
  {
      s.Select(true); // Error here
  
      String outfile = outputpath + "("+i+")" + outputfilename + ".csv";
      wkb.SaveAs(outfile, Excel.XlFileFormat.xlCSVMSDOS);
  
      ++i;
  }
  </code></pre>
  
  <p>There is no problem with the output file name or path, and the output file(s) do not exist. It saves the first two sheets then crashes. I tried with a different input file with 4 sheets and it worked perfectly, so it has to do with the input file.</p>
  
  <p><strong>The exception</strong>:</p>
  
  <pre><code>System.Runtime.InteropServices.COMException was unhandled
    HResult=-2146777998
    Message=Exception from HRESULT: 0x800AC472
    Source=ExcelXlsx2Csv
    ErrorCode=-2146777998
    StackTrace:
         at Microsoft.Office.Interop.Excel._Worksheet.Select(Object Replace)
         at ExcelXlsx2Csv.Program.Main(String[] args) in c:\Users\Edward\Documents\Visual Studio 2013\Projects\ExcelXlsx2Csv\ExcelXlsx2Csv\Program.cs:line 109
         at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
         at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
         at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
         at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
         at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
         at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
         at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
         at System.Threading.ThreadHelper.ThreadStart()
    InnerException: 
  </code></pre>
  
  <p>Any hints appreciated!</p>