Utilizar macros sin tener que desproteger la hoja.

27/11/2005 - 14:02 por ~ jose ~ | Informe spam
Hola. Tengo una hoja protegida pero cada vez qeu creo una macro
tengo que insertar el código:
ActiveSheet.Unprotect
para descativar la hoja,
y para poder proteger la hoja al final de la macro tengo qeu poner:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
Hay alguna forma de no desproteger la hoja y poder utilizar las macros
sin tener que poner estos codigos en cada macro qeu cree?
Gracias

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
27/11/2005 - 22:25 | Informe spam
hola, jose !

Tengo una hoja protegida pero cada vez qeu creo una macro tengo que insertar el codigo:
ActiveSheet.Unprotect
para descativar la hoja,
y para poder proteger la hoja al final de la macro tengo qeu poner:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Hay alguna forma de no desproteger la hoja y poder utilizar las macros
sin tener que poner estos codigos en cada macro qeu cree?



si necesitas que la proteccion NO 'afecte' a tus macros ->SIN tener que [des/re]proteger la hoja<-
y puesto que la hoja ya tiene su clave asignada... puedes usar la instruccion de 'solo interfase de usuario' [p.e.]

1) en excel 97 y 2000 NO necesitas 'repetir' el password <= es 'suficiente' con poner:
en el modulo de codigo del libro ==Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

2) a partir de excel 2002 [xp] SI es requisito 'repetir' el password :-( < en el modulo de codigo del libro ==Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

[practicamente] TODO lo que 'hagas por codigo'... pasara 'sin problemas'

saludos,
hector.
Respuesta Responder a este mensaje
#7 Henry Sanchez
28/11/2005 - 16:47 | Informe spam
Hola Hector,
Que impediria que otro usuario manipule la hoja de trabajo mediante codigo?

En lo que a mi respecta, me quedo con el antiguo codigo:
MiHoja.Unprotect "Password"
Mi codigo...
MiHoja. Protect .

son solo 2 lineas que protegen el codigo de cualquier intruso,

Saludos,

Henry

Saludo

"Héctor Miguel" escribió:

hola, jose !

> Tengo una hoja protegida pero cada vez qeu creo una macro tengo que insertar el codigo:
> ActiveSheet.Unprotect
> para descativar la hoja,
> y para poder proteger la hoja al final de la macro tengo qeu poner:
> ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
> Hay alguna forma de no desproteger la hoja y poder utilizar las macros
> sin tener que poner estos codigos en cada macro qeu cree?

si necesitas que la proteccion NO 'afecte' a tus macros ->SIN tener que [des/re]proteger la hoja<-
y puesto que la hoja ya tiene su clave asignada... puedes usar la instruccion de 'solo interfase de usuario' [p.e.]

1) en excel 97 y 2000 NO necesitas 'repetir' el password <= es 'suficiente' con poner:
en el modulo de codigo del libro ==> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

2) a partir de excel 2002 [xp] SI es requisito 'repetir' el password :-( <> en el modulo de codigo del libro ==> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

[practicamente] TODO lo que 'hagas por codigo'... pasara 'sin problemas'

saludos,
hector.



Respuesta Responder a este mensaje
#8 KL
28/11/2005 - 19:53 | Informe spam
Hola Henry,

Solo una cosa. Si el usuario es capaz de manipular la hoja mediante codigo,
tu proteccion por codigo no hace otra cosa sino facilitarle la tarea de
encontrar las contrasenas :-)

Saludos,
KL


"Henry Sanchez" wrote in message
news:
Hola Hector,
Que impediria que otro usuario manipule la hoja de trabajo mediante
codigo?

En lo que a mi respecta, me quedo con el antiguo codigo:
MiHoja.Unprotect "Password"
Mi codigo...
MiHoja. Protect .

son solo 2 lineas que protegen el codigo de cualquier intruso,

Saludos,

Henry

Saludo

"Hector Miguel" escribio:

hola, jose !

> Tengo una hoja protegida pero cada vez qeu creo una macro tengo que
> insertar el codigo:
> ActiveSheet.Unprotect
> para descativar la hoja,
> y para poder proteger la hoja al final de la macro tengo qeu poner:
> ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
> Scenarios:=True
> Hay alguna forma de no desproteger la hoja y poder utilizar las macros
> sin tener que poner estos codigos en cada macro qeu cree?

si necesitas que la proteccion NO 'afecte' a tus macros ->SIN tener que
[des/re]proteger la hoja<-
y puesto que la hoja ya tiene su clave asignada... puedes usar la
instruccion de 'solo interfase de usuario' [p.e.]

1) en excel 97 y 2000 NO necesitas 'repetir' el password <= es
'suficiente' con poner:
en el modulo de codigo del libro ==>> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

2) a partir de excel 2002 [xp] SI es requisito 'repetir' el password
:-( <>> en el modulo de codigo del libro ==>> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

[practicamente] TODO lo que 'hagas por codigo'... pasara 'sin problemas'

saludos,
hector.



Respuesta Responder a este mensaje
#9 ~ jose ~
02/12/2005 - 00:24 | Informe spam
Entonces que me dices?, que proteja las hojas y el proyecto VBA
también, no?, para que no puedan poner ningún código en el VBA?
Respuesta Responder a este mensaje
#10 Héctor Miguel
02/12/2005 - 06:06 | Informe spam
hola, jose !

Entonces que me dices?, que proteja las hojas y el proyecto VBA tambien, no?
para que no puedan poner ningun codigo en el VBA?



no lo habias comentado... pero si quieres que no 'descubran' tus claves ya que las pones en el codigo...
[obviamente] habria que poner clave tambien al proyecto de macros :)
-> quien conozca/descubra/... la clave, podra seguir agregando/modificando los codigos ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida