Mensaje al cerrar un archivo de excel desde una macro

13/10/2006 - 16:20 por raulale79 | Informe spam
Hola que tal, no se si alguien me pueda ayudar con mi problematica.
Actualmente estoy programando con macros y creo un boton que lo que
hace es guardar los cambios y cierra el archivo de excel, la primera
vez que ejecuto si guarda y cierra el archivo, pero me manda un mensaje
que dice que el archivo actualmente esta abierto, que si lo deseo
cancelar o que si deseo abrirlo para "lectura-escritura". despues de
que le doy cualquiera de las dos opciones me marca un error de microsof
y me dice que si lo quiero reportar. Alguien de ustedes me puede decir
que estoy haciendo mal, el codigo que uso es el siguiente:

ActiveWorkbook.Save 'Guardo los cambios en el libro de excel
ThisWorkbook.Close 'Cierro el libro
Application.Quit 'Cierro la aplicacion de excel
Application.SendKeys "%{f4}" 'Esta instruccion es para cerrar el
excel es el ALT + F4


Gracias!!!

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
13/10/2006 - 19:58 | Informe spam
hola, raul ?

__ 1 __
... creo un boton que lo que hace es guardar los cambios y cierra el archivo de excel


__ 2 __
la primera vez que ejecuto si guarda y cierra el archivo, pero me manda un mensaje que dice
que el archivo actualmente esta abierto, que si lo deseo cancelar o que si deseo abrirlo para "lectura-escritura".
despues de que le doy cualquiera de las dos opciones me marca un error... y me dice que si lo quiero reportar.


__ 3 __
Alguien de ustedes me puede decir que estoy haciendo mal, el codigo que uso es el siguiente:
ActiveWorkbook.Save 'Guardo los cambios en el libro de excel
ThisWorkbook.Close 'Cierro el libro
Application.Quit 'Cierro la aplicacion de excel
Application.SendKeys "%{f4}" 'Esta instruccion es para cerrar el excel es el ALT + F4



1) que tipo de 'boton' utilizaste ? [barra de herramientas formuarios ? o... cuadro de controles ?]

2) cual es la version de excel que usas ? -> es posible que le falten actualizaciones [o 'parches'] ?
o.. revisa en el editor de vba, en las propiedades del boton, y marca como False en: -> TakeFocusOnClick
[suponiendo que el boton es de la barra de herramientas cuadro de controles] -?-

3) por que utilizar DOS instrucciones 'de salida' ??? [el '.Quit' y el 'SendKeys' son/hacen 'lo mismo'] ;)
[ademas] una vez 'cerrado' el archivo... con la instruccion: -> ThisWorkbook.Close
toda linea de codgo que siga 'despues' de esta instruccion... YA NO se 'ejecuta'
[excel no puede 'leer' codigos de un libro cerrado] :(

prueba invirtiendo 'el orden de los factores' [p.e.]

Application.Quit ' Cierro la aplicacion de excel
ThisWorkbook.Close True ' Cierro el libro guardando los cambios ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 raulale79
13/10/2006 - 23:37 | Informe spam
Gracias Miguel, ya sulucione el problema, no era tanto del a
instruccion, si no que en una funcion en la macro estaba mandando
llamar a una hoja que estaba protegida y que en algunos casos el codigo
pasaba por ahi y en otros no, me fui debugeando linea por linea y
probando hasta que di con el detalle.

Gracias por tu interes en ayudarme.

Saludos.

****************************************************************
****************************************************************
****************************************************************
Héctor Miguel ha escrito:

hola, raul ?

__ 1 __
> ... creo un boton que lo que hace es guardar los cambios y cierra el archivo de excel
__ 2 __
> la primera vez que ejecuto si guarda y cierra el archivo, pero me manda un mensaje que dice
> que el archivo actualmente esta abierto, que si lo deseo cancelar o que si deseo abrirlo para "lectura-escritura".
> despues de que le doy cualquiera de las dos opciones me marca un error... y me dice que si lo quiero reportar.
__ 3 __
> Alguien de ustedes me puede decir que estoy haciendo mal, el codigo que uso es el siguiente:
> ActiveWorkbook.Save 'Guardo los cambios en el libro de excel
> ThisWorkbook.Close 'Cierro el libro
> Application.Quit 'Cierro la aplicacion de excel
> Application.SendKeys "%{f4}" 'Esta instruccion es para cerrar el excel es el ALT + F4

1) que tipo de 'boton' utilizaste ? [barra de herramientas formuarios ? o... cuadro de controles ?]

2) cual es la version de excel que usas ? -> es posible que le falten actualizaciones [o 'parches'] ?
o.. revisa en el editor de vba, en las propiedades del boton, y marca como False en: -> TakeFocusOnClick
[suponiendo que el boton es de la barra de herramientas cuadro de controles] -?-

3) por que utilizar DOS instrucciones 'de salida' ??? [el '.Quit' y el 'SendKeys' son/hacen 'lo mismo'] ;)
[ademas] una vez 'cerrado' el archivo... con la instruccion: -> ThisWorkbook.Close
toda linea de codgo que siga 'despues' de esta instruccion... YA NO se 'ejecuta'
[excel no puede 'leer' codigos de un libro cerrado] :(

prueba invirtiendo 'el orden de los factores' [p.e.]

Application.Quit ' Cierro la aplicacion de excel
ThisWorkbook.Close True ' Cierro el libro guardando los cambios ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
14/10/2006 - 00:01 | Informe spam
hola, raul ?

... ya sulucione el problema, no era tanto de la instruccion
si no que en una funcion en la macro estaba mandando llamar a una hoja que estaba protegida
y que en algunos casos el codigo pasaba por ahi y en otros no
me fui debugeando linea por linea y probando hasta que di con el detalle.



[solo por si las dudas]... toma en cuenta que, 'dentro' de algunas 'causas' de 'crecimiento' de los archivos...
esta el que se corran constantes/varias/repetidas/... 'compilaciones' [o debuggings] al codigo :-(

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida