BeforeClose en Addin, problema al 'Cancelar' el cierre.

30/03/2007 - 13:16 por L. Garcia | Informe spam
Hola:

Tengo la Personal.XLS con diferentes opciones, que controla incluso los
eventos de los libros abiertos, etc.

Cuando finaliza 'la sesión' de Excel, tengo que liberar todo lo que se ha
usado y para ello uso el evento BeforeClose.

Pero el problema es que si se le da al boton de 'Cerrar Excel' (la cruz de
cerrar, vamos), se ejecuta el evento BeforeClose de mi Personal.XLS. Pero si
existe algun fichero abierto y modificado, se puede 'Cancelar' el cierre de
Excel, con lo que mi Personal.XLS queda 'descuajeringada', es decir, ya se
ha limpiado todo, y ya no hace lo que tiene que hacer.

Pregunta:

¿ Como se puede evitar esto ?

Posibles opciones:
Forzar a que mi BeforeClose sea el ultimo. ¿ como ?
Que no se pueda cancelar el cierre ¿ como ?
Algun otro evento 'final' ¿ cual ?
(no sirve _AddinUnInstall() porque no es cuando 'desintalo' el Addin,
sino al finalizar 'cada sesión' de Excel)
Algun evento que se ejecute despues de BeforeClose ¿ cual ?
(la personal.xls no está visible, no sirven _Activate, _Calculates,
etc.)

En principio para la XLS2000, pero no habria problema si la solucion es para
XP :-)))

Gracias por leer hasta aqui

Saludos
 

Leer las respuestas

#1 Héctor Miguel
31/03/2007 - 07:05 | Informe spam
hola, luis !

Tengo la Personal.XLS con diferentes opciones, que controla incluso los eventos de los libros abiertos, etc.
Cuando finaliza 'la sesión' de Excel, tengo que liberar todo lo que se ha usado y para ello uso el evento BeforeClose.
Pero el problema es que si se le da al boton de 'Cerrar Excel' (la cruz de cerrar, vamos)
se ejecuta el evento BeforeClose de mi Personal.XLS.
Pero si existe algun fichero abierto y modificado, se puede 'Cancelar' el cierre de Excel
con lo que mi Personal.XLS queda 'descuajeringada', es decir, ya se ha limpiado todo, y ya no hace lo que tiene que hacer...



revisa la informacion de la siguiente pagina:
Handling the Workbook BeforeClose Event
http://j-walk.com/ss/excel/tips/tip78.htm

saludos,
hector.

Preguntas similares