inhabilitar vista preliminar

02/12/2004 - 00:25 por maurojesus77 | Informe spam
Saludos a todos.

Alguien sabe cómo inhabilitar la vista preliminar en excel usando código?
la idea es que solo puedan imprimir pero no visualizar la vista previa de
la hoja de excel.
Desde ya, gracias por sus comentarios
 

Leer las respuestas

#1 Héctor Miguel
02/12/2004 - 04:54 | Informe spam
hola, Mauro !

... como inhabilitar la vista preliminar en excel usando codigo?
... que solo puedan imprimir pero no visualizar la vista previa de la hoja de excel [...]



al final te expongo una forma de 'inhabilitar' la opcion de pre-visualizar la impresion en excel
solo que... existen [otros] 'medios/metodos' para 'brincarse' dicha 'inhabilitacion' :(( [p.e.]
-> abrir el libro SIN 'permiso' de usar las macros
-> [si se activan]... usando macros 'externas' [en otro libro]
-> existe otra 'opcion' para la vista preliminar EN el dialogo de la impresion 'directa'
-> [seguramente] habra quien 'se las ingenie' de diferentes maneras mas :\
la forma que te expongo, inhabilita [todos y solo] los comandos 'asignados' a la vista preliminar
[probablemente] necesitaras incluir los de la 'impresion directa' y proveer una macro para la impresion

saludos,
hector.

1° una funcion de 'alternancia' para [des/re]habilitar comandos ['pasados' por parametro]
en un modulo de codigo 'normal' ==Option Private Module
Function VerComando(ByVal Boton As Integer, ByVal Disponible As Boolean)
Dim Barra As CommandBar, Comando As CommandBarControl
On Error Resume Next
For Each Barra In Application.CommandBars
Set Comando = Barra.FindControl(Id:=Boton, Recursive:=True)
If Not Comando Is Nothing Then Comando.Enabled = Disponible
Next
Set Comando = Nothing
End Function
=> la forma de 'usarla/llamarla' [dentro de cualquier procedimiento] es:
llamar a la funcion -> pasarle el numero/ID del comando -> True/False [habilitar/deshabilitar]
[p.e. el ID de la vista preliminar es: 109 ...y por si 'te decides' el de la impresion 'directa' es: 4]
VerComando 109, False [o... True para restablecerlo]

2° para 'manipularlos' puedes usar los eventos '_activate' [deshabilitar] y '_deactivate' [restablecer]
si lo necesitas para cualquier hoja en el libro... usa el modulo de codigo ->del libro<-
si lo necesitas SOLO para una/s hoja/s de un libro... usa el/los modulo/s de codigo ->de la/s hoja/s<-

[p.e.] en el modulo de codigo del libro [cualquier hoja en el] ==Private Sub Workbook_WindowActivate(ByVal Wn As Window)
VerComando 109, False
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
VerComando 109, True
End Sub


[p.e.] en el modulo de 'cierta/s' hoja/s del libro ==Private Sub Worksheet_Activate()
VerComando 109, False
End Sub
Private Sub Worksheet_Deactivate()
VerComando 109, True
End Sub

p.d. recuerda agregar una segunda llamada/linea EN los eventos con el parametro de boton 4 ...
[si te decides por proveer otra forma/macro de 'mandar a imprimir']
y... ¡ NO OLVIDES... 'hacer algo' [similar] con los 'atajos' como el ctrl+p !!!

Preguntas similares