problemas con el "unprotect"

23/07/2008 - 13:38 por jose riu | Informe spam
tengo un inconveniente con el "unprotect" que hace rato me esta trayendo
problemas.
si desprotejo la hoja, e inmediatamente quiero hacer un copy/paste, me da
error en el "paste", sin importar de que tipo sea.
si desprotejo la hoja, y ejecuta la misma macro, no tengo ningun
inconveniente.
tambien funciona sin problemas, sin desprotejo varias hojas al mismo tiempo
, y luego empiezo a trabjar con la 1ª desprotegida.
De modo que pareciera ser un problema en el tiempo de respuesta del excel
al desproteger la hoja.
como si el hecho de querer usarla inmediatamente no fuera posible, hasta que
transcurra un cierto tiempo.
si alguien sabe a que se debe, o me puede dar una solucion diferente a
interponer entre ambas instrucciones cualquier delay, se lo agradeceria.

saludos, y gracias de antemano
Jose Riu
Buenos Aires
Argentina
 

Leer las respuestas

#1 Héctor Miguel
23/07/2008 - 23:14 | Informe spam
hola, jose !

tengo un inconveniente con el "unprotect" que hace rato me esta trayendo problemas.
si desprotejo la hoja, e inmediatamente quiero hacer un copy/paste, me da error en el "paste", sin importar de que tipo sea.
si desprotejo la hoja, y ejecuta la misma macro, no tengo ningun inconveniente.
tambien funciona sin problemas, sin desprotejo varias hojas al mismo tiempo y luego empiezo a trabjar con la 1ª desprotegida.
De modo que pareciera ser un problema en el tiempo de respuesta del excel al desproteger la hoja.
como si el hecho de querer usarla inmediatamente no fuera posible, hasta que transcurra un cierto tiempo.
si alguien sabe a que se debe, o me puede dar una solucion diferente a interponer entre ambas instrucciones cualquier delay ...



no creo que necesites de un "delay" para operar sobre hojas (des/re)protegidas por medio de macros -?-
es probable que "otros eventos" fueran la causa de alguna (re)proteccion "inesperada" ?
(seria necesario que revises o expogas las lineas de codigo con las que des/re/proteges tus hojas)

de cualquier forma, lo mas "usual" para trabajar con macros sobre hojas protegidas es re/proteger en el evento '_open' del libro
estableciendo la proteccion a solo la interfase con el usuario
segun las versiones a las que tengas pensado dar "soporte" para el uso de tu archivo +/- como sigue:
=a) en excel 97 y 2000 NO necesitas repetir el password (es suficiente con poner):
Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub
=b) a partir de excel 2002/xp SI es requisito repetir el password:
Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub
=c) si se trata de varias hojas (suponiendo una misma clave para todas)...
Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub
=(practicamente) TODO lo que hagas por codigo... pasara sin problemas
(excepto ciertas cosillas relacionadas con ordenaciones, insertar filas/columnas y objetos incrustados)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares