La Web del Programador: Comunidad de Programadores
 
    Pregunta:  15035 - API PARA CERRAR EXCEL
Autor:  Peter Perez
Hola, Saludos:
Tengo un problema, estoy abriendo desde VB un archivo de Excel (680 KB) para leer los datos , al terminar libero la memoria asignada, pero al cerrar la aplicacion de VB , todavia queda una referencia de EXcel en la Lista de Tareas, esto provoca conflictos y no me deja abrir un archivo de Excel desde el explorador . He usado la sintaxis correcta , lo que necesito es un API para cerrar de la Lista de Tareas la referencia a Excel y que no tenga problemas despues. Agradezo su ayuda , Es Urgentisimo , Gracias.

  Respuesta:  Joan Fàbregas Muñoz
El problema es que la aplicacion de excel que creas no se cierra por si sola.

Cuando se abre un objeto de Excel o Word por ejemplo, sea cual sea el objeto (una hoja o un grafico de excel, un documento de Word) siempre se crea un objeto aplicacion que es el programa EXCEL en si i que funciona independente de tu aplicacion de forma que aunque tu programa termine la aplicacion no termina.

La solucion a esto es definir un objeto aplicacion i una vez has terminado de trabajar hacer el quit del objeto. Por ejemplo:

Private Sub Form_Load()
Dim oApp_XL as Excel.Aplication
Dim oWks_XL as Excel.Worksheet

set oWks_XL=new Excel.Worksheet
set oApp_XL=oWks_XL.Aplication

'Trabajamos con la hoja de Excel

oWks_XL.Close
'Ahora finalizamos el Excel
oApp_XL.Quit

set oWks_XL=Nothing
set oApp_XL=Nothing

End Sub

Si necesitas mas ayuda enviame un mail con mas detalles sobre lo que quieres hacer.

Saludos.