Modificar libro Excel con VB 6.0

08/12/2004 - 15:41 por Enrique Fornoni | Informe spam
Hola comunidad, hola Hector Miguel !!

Referencia: Windows XP; Visual Basic 6.0 (Service Pack 6);
Office XP

Realice un programa en Visual Basic 6.0 para ingresar
datos a distintos libros de Excel, al que llamare
MiPrograma.
Para abrir un libro, modificarlo y cerrarlo utilizo el
siguiente codigo:

With CreateObject("Excel.Application")
With .Workbooks.Open "C:\Ruta y\Carpeta donde esta\el
archivo.xls"
With .Worksheets("Hoja X")
' hago todas las modificaciones que necesito
End With
.Close SaveChanges:=True ' o... False
End With
.Quit
End With

El problema que tengo es que se cierra el libro pero no la
aplicacion EXCEL.EXE
Esto provoca, que al abrir varios libros, van quedando
varias aplicaciones EXCEL.EXE abiertas, las que veo con
el "Administrador de tareas de Windows".
¿Como puedo hacer para que tambien se cierre EXCEL.EXE y
desaparezca del "Administrador de tareas de Windows"?
Con "Adminisrtador de tareas de Windows" observo que una
aplicacion EXCEL.EXE desaparece solamente cuando cierro
MiPrograma.exe

Mucho les agradezco la invalorable tarea de facilitarme la
resolucion de este inconveniente. He recorrido todos los
libros de Excel y de VB 6.0 en las librerias Cuspide (la
mayor en libros de computacion que conozco) y en Ateneo,
pero no encontre nada escrito sobre este particular.

Una vez mas mil gracias y mi cordial saludo.
 

Leer las respuestas

#1 Fernando Arroyo
08/12/2004 - 17:38 | Informe spam
Por probar, intenta crear la instancia de Excel desde una variable, y después de cerrar Excel con su método Quit vaciarla, algo como:

Dim appX As Object
Set appX = CreateObject("Excel.Application")
With appX.Workbooks.Open("C:\kk.xls")
With .Worksheets("Hoja1")
' hago todas las modificaciones que necesito
End With
.Close SaveChanges:=True ' o... False
End With
appX.Quit
Set appX = Nothing

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Enrique Fornoni" escribió en el mensaje news:043301c4dd34$04e15290$
Hola comunidad, hola Hector Miguel !!

Referencia: Windows XP; Visual Basic 6.0 (Service Pack 6);
Office XP

Realice un programa en Visual Basic 6.0 para ingresar
datos a distintos libros de Excel, al que llamare
MiPrograma.
Para abrir un libro, modificarlo y cerrarlo utilizo el
siguiente codigo:

With CreateObject("Excel.Application")
With .Workbooks.Open "C:\Ruta y\Carpeta donde esta\el
archivo.xls"
With .Worksheets("Hoja X")
' hago todas las modificaciones que necesito
End With
.Close SaveChanges:=True ' o... False
End With
.Quit
End With

El problema que tengo es que se cierra el libro pero no la
aplicacion EXCEL.EXE
Esto provoca, que al abrir varios libros, van quedando
varias aplicaciones EXCEL.EXE abiertas, las que veo con
el "Administrador de tareas de Windows".
¿Como puedo hacer para que tambien se cierre EXCEL.EXE y
desaparezca del "Administrador de tareas de Windows"?
Con "Adminisrtador de tareas de Windows" observo que una
aplicacion EXCEL.EXE desaparece solamente cuando cierro
MiPrograma.exe

Mucho les agradezco la invalorable tarea de facilitarme la
resolucion de este inconveniente. He recorrido todos los
libros de Excel y de VB 6.0 en las librerias Cuspide (la
mayor en libros de computacion que conozco) y en Ateneo,
pero no encontre nada escrito sobre este particular.

Una vez mas mil gracias y mi cordial saludo.

Preguntas similares