Visual Basic.NET - Cerrar proceso Excel

 
Vista:

Cerrar proceso Excel

Publicado por Susana (1 intervención) el 07/09/2006 12:18:41
Hola a todos,

He creado un objeto Excel en VB.NET para poder leer/escribir datos de él. Pero, despues de cerrar el libro, hojas y el propio objeto, se me queda la instancia en memoria:

libro.Close()
libro = Nothing
hoja = Nothing
objetoExcel.Quit()
objetoExcel = Nothing

¿Como la puedo eliminar? Muchas gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cerrar proceso Excel

Publicado por maria (29 intervenciones) el 07/09/2006 13:05:39
Yo tengo exactamente el mismo problema. Por Internet encontré que había gente a la que le funcionaba el siguente código.

EliminaReferencias(Hoja)
EliminaReferencias(Libro)
EliminaReferencias(Apli)
System.GC.Collect()

Private Sub EliminaReferencias(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

Despúes de cerrar, eliminas de memoria todas las referencias al excell y se supone que con esto desaparece el proceso de memoria.
A mi personalmente no me funciona, pero la gente dice que sí.
Yo al final monté una chapuza, y eliminé el proceso con Kill por el último que se había creado con el Nombre 'Excel', lo dicho como he podido.
Espero que a ti te sirva este código que por lo menos es más estiloso y correcto.
Si descubres algo más te agradecería que lo colocaras en el foro.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cerrar proceso Excel

Publicado por Carlos (1 intervención) el 07/09/2015 20:59:18
1
2
3
4
5
6
7
8
Private Sub EliminarProceso()
        Dim p As Process
        For Each p In Process.GetProcesses()
            If Not p Is Nothing And p.ProcessName = "EXCEL" Then
                p.Kill() 'Cierra el proceso
            End If
        Next
    End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar