For what it's worth, here is the winning combination, once the COM object is released, calling the GC cleans it up:
Thanks Guys.Code:If oExcel IsNot Nothing Then oWBs = Nothing oWB.Close(SaveChanges:=False) oWB = Nothing oExcel.Quit() Runtime.InteropServices.Marshal.ReleaseComObject(oExcel) GC.Collect() oExcel = Nothing End If




Reply With Quote