OLE: Excel.Application

  • Thread starter Thread starter myname
  • Start date Start date
M

myname

Hello,

in VB.Net, I use Excel to display results :

dim xl as new Excel.Application // creates an Excel process
// snip (putting values into cells)
xl.Visible = true

If the user closes the Excel file, the Excel process remains
in memory until my program is closed, which is good.

If the user closes my program first and then the Excel file,
the Excel process remains in memory !

How can I make sure the process will be killed ?

Thanks !
 
Hello, myname,

You need to include a line like:

xl.Quit

in the appropriate place. But due to the vagaries of .Net garbage
collection this may not result in immediate termination of the Excel
application. For this you could add lines like:

System.Runtime.InteropServices.Marshal.ReleaseComObject(...)
. . .
System.Runtime.InteropServices.Marshal.ReleaseComObject(xl)
GC.Collect()
GC.WaitForPendingFinalizers()

where "..." refers to any Excel Workbook and Worksheet objects that you
have opened.

Cheers,
Randy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top