Я хочу закрыть определенный файл excel среди более чем 1 открытых без убийства процесса excel
У меня есть три открытых файла excel (MS office 16). Мой код проверяет наличие определенного файла, если он открыт, то он пытается закрыть его, но он закрывает процесс excel, который в конечном итоге закрывает все файлы excel.
Что я заметил, так это то, что в диспетчере задач есть только один EXCEL.EXE porcess для всех файлов и на вкладке Details я могу видеть все мои открытые файлы excel с именем.
Что я уже пробовал:
System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses("Excel"); foreach (Process p in processes) { if (p.MainWindowTitle == "MyFile.xlsx - Excel") { p.Kill(); break; } } and below code does nothing : Microsoft.Office.Interop.Excel.Application xlApp = new icrosoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(path); //xlWorkbook.Close(false); xlWorkbook.Close(true, Type.Missing, Type.Missing); xlApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook); System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp); xlWorkbook = null; xlApp = null; GC.Collect();