martes, 24 de julio de 2012

Proteger distintos rangos de una hoja con contraseñas diferentes

Hemos visto en una entrada antigua cómo proteger una hoja con contraseña y, también, cómo desprotegerla por tres métodos: usando una macro incorporada a la misma hoja, grabando la macro en otro libro abierto desde el libro protegido y, finalmente, haciendo uso del sistema de archivos Open XML.

Pues bien, además de la protección explicada, es posible proteger diversas zonas de una misma hoja con diferentes contraseñas. De este modo, si en un proyecto intervienen varias personas, podremos dividir la hoja en zonas protegidas con contraseñas diferentes, y suministrando a cada técnico la contraseña de una zona conseguiremos que pueda modificar únicamente esa zona pero no las demás.

Ilustraremos el caso con el libro SE218-IMC.xlsx que tiene dos hojas. Usaremos la "Hoja1" en este ejercicio y dejaremos la "Hoja2" para otro tipo de protección que se explicará en el próximo artículo.

Las personas que van a trabajar en esta hoja son Luis, Miren, Juan e Iker. Cada uno podrá escribir únicamente en las celdas de las filas 3 a 11 de la columna que lleva su nombre. Así, por ejemplo, Luis escribirá en el rango C3:C11, Miren lo hará en D3:D11, etc.

Las celdas del rango C12:F12 tienen sendas fórmulas para calcular el Índice de Masa Corporal de un individuo (en la "Hoja2" se explica qué es el Índice de Masa Corporal).

Seleccionamos toda la hoja con el botón derecho haciendo clic en el cuadro que hay encima de la fila 1 y a la izquierda de la columna A. En el menú emergente seleccionamos Formato de celdas. En la ficha Proteger, marcamos los cuadros de verificación Bloqueda y Oculta. Terminamos pulsando Aceptar.

Accedemos a Revisar + Permitir que los usuarios modifiquen rangos. Excel mostrará el cuadro de diálogo correspondiente:

Pulsamos el botón Nuevo. Vamos a poner una protección en el rango C3:C11 para que únicamente pueda usarlo Luis. La contraseña será su propio nombre. Por tanto, dejaremos el cuadro de diálogo como se muestra a continuación y pulsaremos Aceptar. Excel pide confirmación de la contraseña.

Hemos vuelto al la ventana Permitir que los usuarios modifiquen rangos. Volvemos a pulsar Nuevo para introducir los valores de Miren:

Repitiendo los mismos pasos con Juan e Iker obtendremos este resultado:

Ahora, pulsamos el botón Proteger hoja, marcamos las opciones que deseemos y ponemos la contraseña que queramos y que no tienen necesidad de conocer ninguno de las cuatro personas a las que vamos a darles los permisos de acceso a la hoja. De nuevo, Excel nos pide confirmación de la contraseña.

Guardamos el libro y salimos de Excel. Cuando una persona, por ejemplo Juan, quiere hacer una modificación, abrirá el libro e intentará escribir en su zona (E3:E11). En ese momento, Excel le pedirá la contraseña para desbloquear el rango:

Juan escribirá la contraseña que previamente le habremos comunicado y podrá continuar con su trabajo. Si intenta modificar una zona reservada a otro técnico no podrá hacerlo porque desconocerá la contraseña.

Cuando Juan termine su trabajo deberá guardar los cambios y cerrar el libro, ya que de no hacerlo podrá venir otro operario y entrar en su zona porque la contraseña de desbloqueo ya ha sido introducida.

¿Se puede desproteger esta hoja? Sí, se puede. Cualquiera de los tres métodos descritos en el primer párrafo es válido.

En caso de emplear el método del cambio de extensión por .ZIP, se deberá buscar una expresión más larga. Lo haremos de esta manera:
  • Sustituimos la extensión del fichero SE218-IMC.xlsx por SE218-IMC.ZIP
  • Descomprimimos SE218-IMC.ZIP con WinZip.
  • Entramos en la carpeta "xl\worksheets" y abrimos con el Bloc de notas el fichero sheet1.xml.
  • Buscamos la primera aparición de la palabra password, seleccionamos y borramos el bloque siguiente:

  • Guardamos el fichero con Archivo + Guardar y cerramos el Bloc de notas.
  • Volvemos a comprimir todos los ficheros obteniendo una nueva versión de SE218-IMC.ZIP
  • Sustituimos la extensión del fichero SE218-IMC.ZIP por SE218-IMC.xlsx. La hoja ha quedado desprotegida.




2 comentarios:

  1. excelente!!! muchisimas gracias!! me re sirvió!

    ResponderEliminar
  2. hola buenas, un gusto saludarte, mi aprecio y respeto, quiero consultar lo siguiente: tengo una hoja excel 2013 cualquiera y debo llenarla de datos y necesito de que al salir de esta hoja de datos, todas las filas con datos se bloqueen (con una clave) y cuando vuelva a entrar a esta hoja las filas con datos anteriores esten bloqueados con clave (y no puedan modificar, ni editar, si pueda sumar ordenar copiar) y se pueda continuar escribiendo en las siguientes filas datos nuevos. la hoja debiera estar protegida solo a la modificacion con una contraseña al igual que el editor del viausl basic . quedo muy agradecido de antemano gracias enpabu@yahoo.es

    ResponderEliminar