Página 1 de 1

Cerrar todos los libros Excel guardando cambios

Publicado: 26 Sep 2016, 23:35
por fr1ki
Hola estoy haciendo un código con Autoit pero llego a un apartado donde tengo que cerrar todos los libros de Excel abiertos pero guardando los cambios, el problema es que uso la función _ExcelBookClose() pero no me cierra ningún libro y menos guarda los cambios.
Como podría hacer sin necesidad de especificar cuales son los libros a cerrar, guardar cada uno sus cambios si los tuviera y luego cerrando los libros, es decir no siempre están los mismos libros abiertos a veces hay alguno nuevo creado y no sé como crear la función.

Esto no se si sería algo así:

#include <Excel.au3>

$oExcel = #(aquí no se como poner para que haga referencia a todos los libros ya abiertos) #(y si pongo por ejemplo: C:\prueba.xls no me lo cierra)
_ExcelBookClose($oExcel, 1, 0) #con el 1 en teoría fuerza el guardado del archivo, pero no lo hace.

Bueno espero que me podáis ayudar.

Saludos y gracias.

Re: Cerrar todos los libros Excel guardando cambios

Publicado: 27 Sep 2016, 00:54
por Dany
Hola. Tienes que cerrar el libro pasando el objecto que retorna la función _Excel_BookOpen.


saludos :smt027

Re: Cerrar todos los libros Excel guardando cambios

Publicado: 27 Sep 2016, 01:32
por fr1ki
Hola Dany gracias por responder, pero no entiendo muy bien, con esa función tendría que ponerlo así:


#include <Excel.au3>

$oWorkbook = _Excel_BookOpen ("C:\prueba.xls")
_Excel_BookClose($oWorkbook,True)

No se si estará bien escrito pero no sé como podría cerrar todos los libros abiertos guardando cambios sin tener que especificar en el código uno a uno cuales podrían ser los libros.

Un saludo y gracias por la respuesta.