Hola,
Yo para cerrar y eliminar los procesos de Excel o word hago lo siguiente:
Código:
sub rutinaExcel()
Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
' Cogido........
' ...................
' ...................
EiminaReferencias(oSheet)
oXL.Workbooks(1).Close(False)
EiminaReferencias(oWB)
oXL.Quit()
EiminaReferencias(oXL)
System.GC.Collect()
End If
End Sub
Shared 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
El código está en VB.net pero cambiando la sintaxis te vale para C#.
A mi me funciona correctamente. Al momento de ejecutarlo me desaparecen losp rocesos Excel del visor de tareas (también vale para Word).
Espero que te sirva.
Un saludo.