No tengo a mano lo que hice en su momento, pero la idea es:
Código vb:
Ver original'cerramos el archivo Excel
If Not excel Is Nothing Then
' Hago un bucle de eliminaciones de las referencias de cada objeto
' que tiene relacion con el EXCEL
EiminaReferencias(excel.Sheets)
excel.Workbooks(1).Close(False)
EiminaReferencias(excel.Workbooks)
excel.Quit()
EiminaReferencias(excel.ActiveSheet)
EiminaReferencias(excel.ActiveWorkbook)
EiminaReferencias(excel.ActiveWindow)
End If
Y el llamado a cerrar:
Código vb:
Ver originalPrivate Sub EiminaReferencias(ByRef Referencias As Object)
Try
'Bucle de eliminacion
Do Until _
System.Runtime.InteropServices.Marshal.ReleaseComObject(Referencias) <= 0
Loop
Catch
Finally
Referencias = Nothing
End Try
End Sub
Cuando llegue a casa, me fijo cómo lo había resuelto exactamente yo.