ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel.EXE remains in memory (https://www.excelbanter.com/excel-programming/363114-excel-exe-remains-memory.html)

[email protected]

Excel.EXE remains in memory
 
Hello All,

We are generating excel sheets using COM Interop. When the sheet
generation is successful, it removes the EXCEL.EXE from the task
manager. However, if we have any error in the application, the
EXCEL.EXE remains in memory (can see it in task manager). What are we
doing wrong? Any inupt will be highly appreciated.

Here's the cleanup code:

finally
{
if (module != null)
Marshal.ReleaseComObject(module);
if (range != null)
Marshal.ReleaseComObject(range);
if (color != null)
Marshal.ReleaseComObject(color);
if (sheet1 != null)
Marshal.ReleaseComObject(sheet1);
if (sheet2 != null)
Marshal.ReleaseComObject(sheet2);
if (sheet3 != null)
Marshal.ReleaseComObject(sheet3);
if (workbook != null)
Marshal.ReleaseComObject
(workbook);
if (excelApp != null)
Marshal.ReleaseComObject(excelApp);

module = null;
range = null;
color = null;
sheet1 = null;
sheet2 = null;
sheet3 = null;
workbook = null;
excelApp = null;
}


Thanks,
Harshu


Andrew Taylor

Excel.EXE remains in memory
 
Try adding the lines

workbook.close
excelApp.Quit

before destroying the objects.





wrote:
Hello All,

We are generating excel sheets using COM Interop. When the sheet
generation is successful, it removes the EXCEL.EXE from the task
manager. However, if we have any error in the application, the
EXCEL.EXE remains in memory (can see it in task manager). What are we
doing wrong? Any inupt will be highly appreciated.

Here's the cleanup code:

finally
{
if (module != null)
Marshal.ReleaseComObject(module);
if (range != null)
Marshal.ReleaseComObject(range);
if (color != null)
Marshal.ReleaseComObject(color);
if (sheet1 != null)
Marshal.ReleaseComObject(sheet1);
if (sheet2 != null)
Marshal.ReleaseComObject(sheet2);
if (sheet3 != null)
Marshal.ReleaseComObject(sheet3);
if (workbook != null)
Marshal.ReleaseComObject
(workbook);
if (excelApp != null)
Marshal.ReleaseComObject(excelApp);

module = null;
range = null;
color = null;
sheet1 = null;
sheet2 = null;
sheet3 = null;
workbook = null;
excelApp = null;
}


Thanks,
Harshu



Pflugs

Excel.EXE remains in memory
 
I have this same problem, and I am using ActiveWorkbook.close and
Excel.Application.Quit before destroying the objects. I still have Excel.exe
in memory. Is there anything else I can do?

Thanks.

Pflugs

"Andrew Taylor" wrote:

Try adding the lines

workbook.close
excelApp.Quit

before destroying the objects.





wrote:
Hello All,

We are generating excel sheets using COM Interop. When the sheet
generation is successful, it removes the EXCEL.EXE from the task
manager. However, if we have any error in the application, the
EXCEL.EXE remains in memory (can see it in task manager). What are we
doing wrong? Any inupt will be highly appreciated.

Here's the cleanup code:

finally
{
if (module != null)
Marshal.ReleaseComObject(module);
if (range != null)
Marshal.ReleaseComObject(range);
if (color != null)
Marshal.ReleaseComObject(color);
if (sheet1 != null)
Marshal.ReleaseComObject(sheet1);
if (sheet2 != null)
Marshal.ReleaseComObject(sheet2);
if (sheet3 != null)
Marshal.ReleaseComObject(sheet3);
if (workbook != null)
Marshal.ReleaseComObject
(workbook);
if (excelApp != null)
Marshal.ReleaseComObject(excelApp);

module = null;
range = null;
color = null;
sheet1 = null;
sheet2 = null;
sheet3 = null;
workbook = null;
excelApp = null;
}


Thanks,
Harshu





All times are GMT +1. The time now is 04:29 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com