La Web del Programador: Comunidad de Programadores
 
    Pregunta:  30865 - CERRAR EXCEL DESPUES DE ENVIARLE DATOS
Autor:  Yavir Robles Ortíz
Hola, estoy haciendo un programa que obtiene datos de una Base de Datos de SQL por medio de ADO y los exporta a un archivo de Excel, el problema es que cuando termina la rutina no cierra Excel y eso provoca un desbordamiento de memoria y se traba la máquina. Ya lo intente con Objeto.Aplication.Quit y con Objeto.ActiveWorkbook.Close pero no lo termina en la barra de tareas.

Gracias.

  Respuesta:  Mauricio Baeza
No se que codigo estes usando, pero este funciona muy bien, sale del Excel y no lo deja en memoria...

Private Sub cmdExcel_Click()
Dim objExcel As Object
Dim objLibro As Object

On Error Resume Next

Set objExcel = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Err.Clear
Set objExcel = CreateObject("Excel.Application")
End If

If Len(Dir(App.Path & "\Temporal.xls")) > 0 Then
Set objLibro = objExcel.WorkBooks.Open(App.Path & "\Temporal.xls")
'Ejecutamos una macro
objLibro.Parent.Application.Run "Prueba"
objLibro.Save
objLibro.Close
End If
objExcel.Quit
Set objLibro = Nothing
Set objExcel = Nothing

End Sub