Jump to content

Macro para no imprimir hojas


Recommended Posts

Posted

Buenas tardes. Agradeceré disculpar si no adjunto el archivo, ya que este puede ser cualquiera, ya que se trata de la impresión de hojas.

Mi consulta es:

1) Puede ser posible bloquear la impresión de una o mas hojas del libro. Sé que se puede hacer con una macro que se puede poner en ThisWorkbook, pero mi consulta es en sí, si dado el caso, cuando se envíe a imprimir, pregunte cuál es la clave, y si coíncide que se imprima la hoja determinada.

2) En ThisWorkboork se le puede poner contraseña para que no vean cual es la clave. Si no se puede poner, cuál sería la solución para que esto no ocurra, y cualquier persona la pueda cambiar e imprimir las hojas que tienen la información que podría ser confidencial

Gracias por su ayuda y la atención que me brindan

Buenas tardes

Jorge

Posted

Hola.

Para ponerle contraseña a tu proyecto de vba, debes elegirlo, dar click derecho y das en propiedades de VBAProject. Ahí pones la contraseña.

Para que no se imprima a menos que se ingrese un password, puedes utilizar el siguiente código en ThisWorkbokk.

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim Valor As String

Valor = InputBox("Para continuar imprimiendo por favor ingrese la contraseña.", "Impresión")

If Valor = "pass" Then

'Imprime

Else

MsgBox "Contraseña incorrecta.", vbExclamation, "Impresión"

Cancel = True

End If

End Sub

Saludos !!

- - - - - Mensaje combinado - - - - -

Hola.

Para ponerle contraseña a tu proyecto de vba, debes elegirlo, dar click derecho y das en propiedades de VBAProject. Ahí pones la contraseña.

Para que no se imprima a menos que se ingrese un password, puedes utilizar el siguiente código en ThisWorkbokk.

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim Valor As String

Valor = InputBox("Para continuar imprimiendo por favor ingrese la contraseña.", "Impresión")

If Valor = "pass" Then

'Imprime

Else

MsgBox "Contraseña incorrecta.", vbExclamation, "Impresión"

Cancel = True

End If

End Sub

Saludos !!

Posted

Gracias Sergio, voy a hacer las pruebas y te comento.

Saludos

Jorge

- - - - - Mensaje combinado - - - - -

Sergio, buenas noches. Probé la macro y si funciona. Pero una consulta:

1) Qué ocurre, si la contraseña NO ES LA MISMA, para todas las hojas?, y

2) Por allí alguien que conoce de macros, o conoce el truco de abrir el archivo sin habilitar las macros, igual podría imprimir las hojas? o no podría?. Existe alguna forma de ocultar las hojas, con la más alta seguridad de todas, y que al abrir el archivo sino habilita la macro, le salga un mensaje, "PRIMERO DEBE HABILITAR LAS MACROS", y si no lo hace que no muestre las hojas y se cierre el archivo, y si lo hace que recién muestre todas las hojas, y si desea imprimir alguna hoja ejecute la macro que corresponde de verificar el password.

Tú te estaras preguntando porqué tanto misterio que habrá en esas hojas, pues hay información de evaluación del personal y las planillas, por eso es que se necesita tener esa seguridad.

Gracias. Espero tú gentil respuesta. Saludos

Jorge

Posted

Que tal Jorge:

Si deseas una contraseña para cada hoja se deberá hacer una condición "Si el nombre de la hoja es X y la contraseña es Y" entonces imprime.

La opción de habilitar las macros se puede hacer sin conocimientos avanzados, pero para lo que planteas, te sugiero que utilices el siguiente código para ocultar todas las hojas del archivo con macros y si llegan a deshabilitar las macros que no puedan mostrar las hojas ya tendrán la propiedad xlSheetVeryHidden

Sheets("Hoja1").Visible = 2

Lo mismo aplicaría para todas las hojas excepto la que tendrás con el mensaje que comentas.

Si las macro están habilitadas a la propiedad Visible sólo le asignas 1 y ya las verás de nuevo, pero no podrán imprimir por la macro que te pasé.

Aclaro, para un usuario "curioso" no hay macro que lo detenga.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy