Engañar a BeforeClose

04/08/2006 - 03:48 por klomkbock | Informe spam
Hola a todos

Tengo una barra de herramientas que se crea y se elimina en los eventos
Activate y Deactivate, respectivamente, de Thisworkbook.

Funciona bastante bien, pero al ir a cerrar el libro, si por lo que sea se
cancela el cierre, la barra se elimina y no aparece a no ser que cierres y
vuevas a abrir, o que abras otro libro y vuelvas a el.

Creo haber visto en algun lado que se puede "engañar" al evento
BeforeClose pero no se donde. He probado a manipular su argumento Cancel,
pero la verdad es que no se como hacerlo, y no he logrado nada.

Si podeis echarme una mano os lo agradezco.

Un saludo y hasta pronto.
Ivan

PD: a continuacion expongo los codigos que intervienen.

Private Sub Workbook_Activate()
Dim MiBarra As CommandBar
Application.ScreenUpdating = False
Set MiBarra = Application.CommandBars.Add
With MiBarra
.Name = "BarraPrueba"
.Position = msoBarTop
.Visible = True
End With
Application.ScreenUpdating = True
Call AñadirBotonesABarraPrueba
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
On Error Resume Next
Application.CommandBars("BarraPrueba").Delete
'' If Cancel = True Then Call AñadirBotonesABarraPrueba
On Error GoTo 0
Application.ScreenUpdating = True
End Sub

Private Sub Workbook_Deactivate()
Application.ScreenUpdating = False
On Error Resume Next
Application.CommandBars("BarraPrueba").Delete
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
 

Preguntas similares