# Proteger desproteger libro compartido...



## roberto (Jul 7, 2004)

Algo estoy haciendo mal con la siguiente macro, ojala me puedan ayudar:

Private Sub Workbook_Open()
ActiveWorkbook.UnprotectSharing "password"
Call Macro1
ActiveWorkbook.SharingPassword "Password"
ThisWorkbook.Close SaveChanges:=True
End Sub

 O si existe alguna otra forma será bienvenida...


----------



## Greg Truby (Jul 12, 2004)

Hola Roberto,

No sé si usted estará usando una versión de Excel donde .SharingPassword es un método válido para un objeto Workbook, pero en XL2002, no es válido.  Habrá que usar .ProtectSharing y note que el contraseña es el segundo argumento entonce habría que poner una coma extra o nombrar el argumento (_Password:="password"_).

Ten cuidado con esto porque cuando logré que me funcionara, se puse difícil cambiar las cosas porque todo eso está en el macro de Workbook Open, así que al menos que uno pone un breakpoint dentro de tal, ya quiere cerrar otra vez en forma protegida y si uno brinca el workbook open (disable macros) entonces por ser compartida, no se puede ver el VB Project.  No es decir que sería imposible editar programación dentro del cuaderno, solamente que sería más complicado (creo, no probé llamar a _.UnprotectSharing_ de otro cuaderno).

Y otra cosa - en su ejemplo, usted puso "password" y "Password" - todo menúscula en la primera, no todo menúscula en la segunda.  Ésto también podría ser semilla de un problema.

Pues, ojalá es esto haya sido útil.

Saludos,


----------



## roberto (Jul 12, 2004)

Gracias por tus comentarios Greg   , y la opción con .ProtectSharing  ya la habia intentado, pero me genera un libro nuevo en la carpeta "Mis documentos" pero con contraseña de apertura (protección de archivo"), tal vez estoy haciendo algo mal, ¿podria poner el código con el que trabajo?


----------



## Greg Truby (Jul 13, 2004)

Roberto,

Aquí pongo lo que escribí.  Como indiqué arriba - tengo que deshabilitar los macros para poder hacer algo con él.  Si no, el macro abajo (igual a lo que usted hizo) cierre el cuaderno otra vez.

<font face=Courier New><SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Workbook_Open()
    ActiveWorkbook.UnprotectSharing "password"
    <SPAN style="color:#00007F">Call</SPAN> macro1
    ActiveWorkbook.ProtectSharing Password:="password"
    ThisWorkbook.Close SaveChanges:=<SPAN style="color:#00007F">True</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>

<SPAN style="color:#00007F">Sub</SPAN> macro1()
    [A1] = "Hello"
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN></FONT>

Saludos,


----------



## roberto (Jul 24, 2004)

Disculpas por tardar tanto en contestar, tuve un problemita, volviendo al tema...
No se si no me explico bien, el codigo de Greg funciona bien, pero me genera un archivo nuevo en la carpeta "Mis Documentos" con contraseña de apertura de archivo, lo que quiero (si es que se puede), que habra un libro de Excel compartido con contraseña, que quite la contraseña de protección de compartido, que ejecute una macro y que se vuelva a compartir el libro con una contraseña, pero que no genere otro libro...

 :-> Gracias de antemano...


----------



## Greg Truby (Jul 29, 2004)

Roberto,

Nada más para decirle que exploré unas otras ideas y realmente no encontré una solución bonita que haría lo que usted describe.  Solo querría que no se sentiera totalmente abandonado (sin suerte, sí; pero abandonado, no).

Cordialmente,


----------



## roberto (Jul 29, 2004)

Gracias Greg,  a veces se puede y a veces no, pero hay que seguir intentando que con esfuerzo todo se puede, y habrá alguien que nos pueda ayudar...  

Saludos Greg y gracias de nuevo...


----------



## roberto (Aug 20, 2004)

...


----------



## jesus (Aug 20, 2004)

:->  Creo que sería una buena idea si se pone en el Forum "Challenge of the Month" para ver si tenemos más suerte o esperar que alguien te ayude, se me hace una muy buena pregunta e interesante por aquello de las contraseñas en el proyecto (y será un poco más dificil crackear, me parece), ¿o será un conocimiento de pocos y que queda como as bajo la manga?.


----------



## juan elo (Oct 16, 2015)

Hola ,

yo estoy tratando de hacer lo mismo, trate con la macro que roberto pone pero solo funciona para libros no compartidos, o por lo menos hasta ahi me ha funcionado.

lo que intento hacer es pegar datos en un libro que esta BLOQUEADO Y COMPARTIDO, quiero pegar los datos pero dejar de compartirlo.

intente con un comando similar que es UnprotectShare pero no logro hacer que funcione, tambien intente con AllowEditRange pero mis conocimientos de programacion son muy limitados.

Alguien que me pueda ayudar??


----------

