Problema con workbook.beforeclose()

07/09/2012 - 16:46 por Wix | Informe spam
Cuando abro el libro de Excel (2007) corre el evento

workbook_open()

..

For Each Cbar In Application.CommandBars
Cbar.Enabled = False
Next

.



lo cual tengo que volver atrás antes de cerrar el libro y por este motivo utilizo el evento:

workbook_beforeclose()

.

Sheets("Hoja1").Visible = True
Sheets("Hoja2").Visible = xlVeryHidden
Sheets("Hoja1").Select


Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next
Application.DisplayFullScreen = False
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True





Ahora comienza el problema, ya que cierra, guarda y todo lo que tiene que hacer, menos volver a aparecer el menú contextual.


En cambio, si creo una macro solo con el código:

Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next

que es el mismo que utilizo en el evento beforeclose, sí de vuelve a habilitar el menu contextual entre otros.

Acepto ayuda ya que no logro hacer funcionar por completo este evento para volver atrás el menu contextual.

Gracias.
 

Leer las respuestas

#1 Juan Español
10/09/2012 - 14:01 | Informe spam
Hola Wix:

Sin entrar a valorar línea a línea tu código...
¿Por qué no llamas a la macro en el evento workbook_beforeclose()
y así se ejecuta lo que tú quieres?

Saludos.-



"Wix" escribió en el mensaje de noticias
news:
Cuando abro el libro de Excel (2007) corre el evento

workbook_open()

..

For Each Cbar In Application.CommandBars
Cbar.Enabled = False
Next

.



lo cual tengo que volver atrás antes de cerrar el libro y por este motivo
utilizo el evento:

workbook_beforeclose()

.

Sheets("Hoja1").Visible = True
Sheets("Hoja2").Visible = xlVeryHidden
Sheets("Hoja1").Select


Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next
Application.DisplayFullScreen = False
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True





Ahora comienza el problema, ya que cierra, guarda y todo lo que tiene que
hacer, menos volver a aparecer el menú contextual.


En cambio, si creo una macro solo con el código:

Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next

que es el mismo que utilizo en el evento beforeclose, sí de vuelve a
habilitar el menu contextual entre otros.

Acepto ayuda ya que no logro hacer funcionar por completo este evento para
volver atrás el menu contextual.

Gracias.

Preguntas similares