Zamykanie skoroszytu programu Excel

Mam trochę kodu, który otwiera skoroszyt xls;

Excel.Workbooks workBooks;
workBooks = excelApp.Workbooks;
workbook = workBooks.Open(sourceFilePath + sourceFileName + ".xls");

Następnie otrzymuję arkusz roboczy;

worksheets = workbook.Worksheets;
worksheet = worksheets.get_Item("Standard");

Następnie zapisuję plik jako csv;

worksheet.SaveAs(sourceFilePath + sourceFileName + ".csv", Excel.XlFileFormat.xlCSVWindows, Type.Missing, Type.Missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing);

Następnie próbuję zamknąć skoroszyt;

Marshal.FinalReleaseComObject(worksheet);
Marshal.FinalReleaseComObject(worksheets);
workbook.Close();
Marshal.FinalReleaseComObject(workbook);

Jednak za każdym razem, gdy docieram do skoroszytu linii.Zamknij (), system zatrzymuje się.

Jeśli nie zrobię SaveAs, skoroszyt zostanie zamknięty.

Jak zamknąć skoroszyt?

edytować

Patrząc na Menedżera zadań widać, że Excel.exe nadal działa. Zamknięcie go spowoduje błąd w moim kodzie.

edytuj 2

Widziałem już przywoływany post SO i nie rozwiązał problemu.

questionAnswers(5)

yourAnswerToTheQuestion