Proteger un libro contra escritura (hay truco de pillos) - Sólo expertos

07/06/2011 - 00:38 por cazador | Informe spam
¡ Hola !
Sintesis:
Tengo un libro protegido por contraseña de escritura que se llama "Original.xlsm"
Si lo abre otro usuario solo deja abrirlo como lectura.
A la hora de guardarlo le dice que no puede porque esta protegido,etc. y pide que lo haga con otro nombre, para proteger el original.
Ahora bien, lo guarda con otro nombre, por ej. "Copia.xlsm"
Cierra los dos libros.
Ahora borra el libro "Original.xlsm" y renombra el libro "Copia.xlsm" a "Original.xlsm"

La cuestión es sencilla. La protección de escritura es una mierda facil de saltarse a no ser que esten configurados los permisos de ususario en el servidor para que un usuario no pueda borrar los archivos de otro.

Y la pregunta que hago es:
¿Cómo puedo proteger un libro contra escritura sin que me hagan la jugada anterior?
Se entienda que el libro tiene que estar accesible y abierto para todos, pero que las modificaciones que hagan no las puedan guardar, salvo que tengan la contraseña.

PD. Aclarar que el libro tiene varias hojas protegidas para que solo se puedan modificar algunas celdas desprotegidas.
Lo digo para que se me aconseje que proteja las hojas o similar.
 

Leer las respuestas

#1 Cacho R
08/06/2011 - 09:12 | Informe spam
Hola! Cazador.
No sé cual sea tu nivel de conocimientos en materia de macros de
Excel.

Sin embargo puedo anticiparte que si en el evento "BeforeSave" del
libro incorporas una simple línea como:

Cancel = True

es decir:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub

ocurrirá que el libro no podrá guardarse.

La lógica de la protección que requieres pasará por pedir al usuario
(dentro de aquel evento) que ingrese su password. Si es correcta
entonces:

Cancel = False

y el libro se guarda normalmente.

Pero si la password es incorrecta entonces:

Cancel = True

y el libro no se garda.

Lo anterior deberás complementarlo con una protección del código VBA
para que no te vean el método que utilizas para controlar el tema.

De allí para arriba: ¡toda la sofisticación que te guste!. Por
ejemplo:

-> Una pass distinta para cada usuario (tabla de dos columnas:
usuario / password)
-> Armar una lista de los usuarios que van grabando la información con
día y hora
etc etc etc

Saludos, Cacho.

On 6 jun, 19:42, cazador wrote:
¡ Hola !
 Sintesis:
 Tengo un libro protegido por contraseña de escritura que se llama
 "Original.xlsm"
 Si lo abre otro usuario solo deja abrirlo como lectura.
 A la hora de guardarlo le dice que no puede porque esta protegido,etc. y  pide
 que lo haga con otro nombre, para proteger el original.
 Ahora bien, lo guarda con otro nombre, por ej. "Copia.xlsm"
 Cierra los dos libros.
 Ahora borra el libro "Original.xlsm" y renombra el libro
 "Copia.xlsm" a "Original.xlsm"

 La cuestión es sencilla. La protección de escritura es una mierda
 facil de saltarse a no ser que esten configurados los permisos de ususario en
el
 servidor para que un usuario no pueda borrar los archivos de otro.

 Y la pregunta que hago es:
 ¿Cómo puedo proteger un libro contra escritura sin que me hagan la
 jugada anterior?
 Se entienda que el libro tiene que estar accesible y abierto para todos, pero
 que las modificaciones que hagan no las puedan guardar, salvo que tengan la
 contraseña.

 PD. Aclarar que el libro tiene varias hojas protegidas para que solo se puedan
 modificar algunas celdas desprotegidas.
 Lo digo para que se me aconseje que proteja las hojas o similar.

Preguntas similares