From: "Md. Ruhul Amin" Date: 2007-03-29T12:14:44+09:00 Subject: [ruby-dev:30678] Re: excel is not closed in runtime using excel.Quit() Dear Masaki Suketa, I use ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32]. By the second way I can do that. Thanks for ur help. Amin Subject: [ruby-dev:30677] Re: excel is not closed in runtime using excel.Quit() Masaki Suketa wrote: > Could you show me the version of Ruby which you use? > It seems to me that it is Win32OLE memory leak bug. > And the bug is fixed in Ruby 1.8.6. > > If you use 1.8.6 or later, then try GC.start after excel.Quit() > > excel.ActiveWorkbook.Close(0) # close the workbook > excel.Quit() # close Excel file > excel = nil # <-- add > GC.start # <-- add > > Or, try the creation of Excel object out of while loop scope. > You create Excel object only at once, and call excel.quit only > at once. > > excel = WIN32OLE::new('excel.Application') # create excel only at once > while i ... > workbook = excel.Workbooks.Open("#{path}") # Open the Excel file > ... > excel.ActiveWorkbook.Close(0) # close the workbook > end > excel.Quit # excel quit only at once. > > Regards, > Masaki Suketa