I have a bit of code that opens an xls workbook;
Excel.Workbooks workBooks; workBooks = excelApp.Workbooks; workbook = workBooks.Open(sourceFilePath + source
Have you considered the fact that the system might still be in the process of saving the file when you attempt to close it? I'm just saying, to be sure add a delay(Thread.Sleep(1000) in C# for example) before the close to see if this is the problem.