Foros del Web » Programación para mayores de 30 ;) » .NET »

Eliminar proceso de Excel

Estas en el tema de Eliminar proceso de Excel en el foro de .NET en Foros del Web. Buenos días a todos, Tengo un problema al intentar eliminar una instancia de excel, ya que sigue el proceso en el administrador de trareas. Estoy ...
  #1 (permalink)  
Antiguo 07/01/2009, 11:14
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Eliminar proceso de Excel

Buenos días a todos,

Tengo un problema al intentar eliminar una instancia de excel, ya que sigue el proceso en el administrador de trareas. Estoy utlizando vb.Net. Si aguien puede darme una pista para eliminar este proceso y así liberar recursos se lo agradecería

Parte del codígo es:

Dim xl As New Microsoft.Office.Interop.Excel.Application

xl.Workbooks.Add()
...
...
...

xl.ActiveWorkbook.SaveAs(FileName)
xl.ActiveWorkbook.Close()
xl.Quit()
xl = nothing
  #2 (permalink)  
Antiguo 08/01/2009, 21:43
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Eliminar proceso de Excel

lo más normal es ocupar algo con

Marshal.ReleaseComObject

Te paso una referencia para que tengas una mejor idea

http://stackoverflow.com/questions/3...-existing-file

salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 13/09/2009, 20:25
Avatar de rocksoul16  
Fecha de Ingreso: agosto-2009
Ubicación: Colombia
Mensajes: 9
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar proceso de Excel

Por más que intenté liberar el objeto con Marshal.ReleaseComObject no pude hacer que funcionara el 100% de las veces, raro ¬¬, según leí por ahí como que se trata de un bug... bueno, lo que hice, y sirvió en mi caso, pues simplemente necesitaba que el excel generara un informe, lo guardara y luego se cerrara fue lo siguiente:
'Arreglo de procesos
Dim proceso() as Process
'obtener los procesos Excel
proceso=Process.GetProcessesbyName("EXCEL")
'matar el último que se haya generado
proceso(proceso.length).Kill

Eso fue lo único que funcionó, por si a alguien le sirve... suerte!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:21.