que no se pueda modificar prop. impresion

09/02/2006 - 05:24 por RBA | Informe spam
Que tal amigos, una pregunta de pagesetup, Como hago para evitar que el
usuario pueda cambiar las propiedades de impresion (que deje
preestablecidas) en una hoja de excel, area de impresion, tamaño de hoja,
margenes, etc. tanto desde el menu, como desde vista preeliminar?
Gracias...

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
10/02/2006 - 07:53 | Informe spam
hola, 'anonimo/a' !

... pregunta de pagesetup
Como hago para evitar que el usuario pueda cambiar las propiedades de impresion (que deje preestablecidas)
en una hoja de excel, area de impresion, tama#o de hoja, margenes, etc. tanto desde el menu, como desde vista preliminar?



una -posible- alternativa es que 'vuelvas a poner TUS propiedades A ESA hoja en el evento '_beforeprint' -> del libro ;)

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 RBA
13/02/2006 - 05:18 | Informe spam
Hector que tal aca Rodrigo de Morelia, ya me has ayudado en otras ocasiones
y siempre resuelves el problema!! claro si hay solucion posible jeje :).
Bien mira tengo :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "CAJA" Then Cancel = True
End Sub
pero pues esto hace que sea imposible siquiera hacer printpreview en la hoja
y la cosa es que si necesito imprimirla pero pero sin que el usuario pueda
modificar alguna de las propiedades, margenes, hojas etcalguna idea?
saludos...

"Héctor Miguel" escribió en el mensaje
news:%
hola, 'anonimo/a' !

... pregunta de pagesetup
Como hago para evitar que el usuario pueda cambiar las propiedades de
impresion (que deje preestablecidas)
en una hoja de excel, area de impresion, tama#o de hoja, margenes, etc.
tanto desde el menu, como desde vista preliminar?



una -posible- alternativa es que 'vuelvas a poner TUS propiedades A ESA
hoja en el evento '_beforeprint' -> del libro ;)

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
13/02/2006 - 06:59 | Informe spam
hola, Rodrigo !

Bien mira tengo:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "CAJA" Then Cancel = True
End Sub
pero pues esto hace que sea imposible siquiera hacer printpreview en la hoja y la cosa es que
si necesito imprimirla pero pero sin que el usuario pueda modificar alguna de las propiedades, margenes, hojas etc... alguna idea?



excepto por el final de tu comentario de que necesitas que el usuario NO PUEDA modificar... -> ', hojas, etc.' :D -?-
[por ejemplo] puedes 'dejarlo' que 'modifique' [o... realmente que INTENTE modificar] lo que quiera y...
-> por codigo TU -> RESTABLECES/ajustas/decides/indicas/... las propiedades [del .PageSetup] a los 'defaults' que quieras :))
-> [solo toma en cuenta que] -> TODA propiedad QUE NO ESTABLEZCAS TU [de manera 'expresa' y NO 'implicita'] en el codigo...
-> seran propiedades que el usuario SI podra 'manipular' [o re/establecer] a su 'libre voluntad y criterio' :-((
[p.e. si NO 'limpias' por codigo la propiedad '.PrintTitleRows' -> el usuario podria establecer 'los suyos'] :))
-> [ademas] no importa si el usuario las cambia [en la vista preliminar]... al momento de imprimir... 'volveran' TUS propiedades ;)
[asi que]... ASEGURATE de establecer TU las propiedades necesarias [margenes, orientacion, area, calidad, etc. etc. etc.] ;)
-> el verdadero 'problema'... seria si tu libro se abre SIN 'permiso' de usar las macros -?-
-> no olvides que son [solo] 'ejemplos'... y que adaptarlo a tu 'real' necesidad... dependera de los comentarios que hagas ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
=1) en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_BeforePrint(Cancel As Boolean)
If HojaEnGrupo("caja") Then Configura_mi_hoja
End Sub

2) en un modulo de codigo 'normal' ==Option Private Module
Function HojaEnGrupo(ByVal Nombre As String) As Boolean
Dim Hoja As Worksheet
For Each Hoja In ActiveWindow.SelectedSheets
If LCase(Hoja.Name) = LCase(Nombre) Then HojaEnGrupo = True: Exit For
Next
End Function
Sub Configura_mi_hoja()
With Worksheets("caja").PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
.PrintArea = "$A$1:$F$20"
.LeftHeader = Format(Date, "mm/dd/yy")
.RightFooter = "Hoja 35"
' no olvides controlar/incluir/agregar/...' TODAS las propiedades necesarias :))
End With
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida