Bloqueo zoom en una hoja

14/04/2004 - 13:21 por Lao_España | Informe spam
Hola al grupo.

Necesito bloquear el zoom en una sola hoja de un libro, alguien puede
decirme que instrucción de VBA he de emplear.

Muchas gracias.
 

Leer las respuestas

#1 Héctor Miguel
15/04/2004 - 02:35 | Informe spam
hola, Lao !

Necesito bloquear el zoom en una sola hoja de un libro ... que instruccion de VBA he de emplear.



podrias 'impedir' que el usuario haga uso de las herramientas 'zoom' cuando este en 'esa' hoja
[solo si lo intenta por la interfase grafica -'manualmente'-... NO... si lo hace 'por macros'] :((
p.e. el menu ver / zoom tiene una ID:’5 el zoom [combo en barras de herramientas] tiene una ID:33

el ejemplo siguiente [+/-] hace lo que solicitas, 'pero'... [por si las dudas] =>REQUIERE excel 2000 o 'superior'<saludos,
hector.
_____
1° 'asegurate' de que el zoom 'actual' [de 'esa' hoja] es el 'adecuado'
:::::::::
2° copia las siguientes lineas en el modulo de codigo de 'la hoja'...
Private Sub Worksheet_Activate()
Zoom_OnOff False
End Sub
Private Sub Worksheet_Deactivate()
Zoom_OnOff True
End Sub
::::::::::::
3° copia las siguientes lineas en un modulo de codigo 'normal'...
Option Private Module
Sub Zoom_OnOff(ByVal OnOff As Boolean)
Dim ComandoZom As CommandBarControl
For Each ComandoZoom In CommandBars.FindControls(ID:’5)
ComandoZoom.Enabled = OnOff
Next
For Each ComandoZoom In CommandBars.FindControls(ID:33)
ComandoZoom.Enabled = OnOff
Next
End Sub
::::::::::::
4° [finalmente] 'repite' la instruccion de 'la hoja' ['Workshet_Deactivate']
en el evento '_BeforeClose' del libro [ThisWorkbook]
=>de otra manera, PERMANECERAN 'des-habilitdos' para la siguiente sesion< [si la 'ultima hoja activa' es la que los 'des-habilita'] =>es solo 'para estar seguros'<= ;)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Zoom_OnOff True
End Sub

Preguntas similares