Como bloquear el área de impresión en office 2007

Necesitaría poder bloquear el área de impresión de los archivos de Word y Excel, para que nadie me pueda modificar los parámetros, siempre se realizan las impresiones desde la misma impresora.

1 respuesta

Respuesta
1
El área de impresión la marcas tú, y después debes de proteger la hoja y nadie te modificará el Área de impresión.
>Un saludo
>Julio
Hola te comento que he realizado lo que me has comentado, pero el problema es que si entro en configurar página, mostrar margenes puedo modificar los parámetros sin ningún problema estando la hoja protegida.
De acuerdo tendrás que hacerlo mediante macros ten en cuenta todo lo siguiente<<.
Graba una macro mientras configuras la impresión (para que veas todas las propiedades implicadas)...
Y (por ejemplo) puedes dejar al usuario que modifique (o... realmente que INTENTE modificar) lo que quiera pero...
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 (de manera expresa y NO implícita) en el código...
Serán propiedades que el usuario SI podrá manipular (o re/establecer) a su libre voluntad y criterio
(p.e. Si NO limpias por código la propiedad .PrintTitleRows -> el usuario podría establecer los suyos)
(Ademas) no importa si el usuario las cambia (en la vista preliminar)... al momento de imprimir... volverán TUS propiedades
(Así que)... asegurate de establecer TU las propiedades necesarias (margenes, orientación, área, 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... dependerá de los comentarios que hagas
el siguiente ejemplo supone que la configuración de impresión es solo para la hoja1
1) En el modulo de código del libro (ThisWorkbook)
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If HojaEnGrupo("hoja1") 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("hoja1").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
Ojo esto funciona si las macros el usuario las habilita si no no funcionara nada, también podemos evitar que si no habilita las macros no pueda utilizar el libro.
*La información no es mía la localicé en esta página pero si te sirve bienvenida sea y agradecimientos a su creador.
http://www.eggheadcafe.com/conversation.aspx?messageid=33129314&threadid=33129312
Tu me dirás
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas