Autoopen y proteccion.Excell2007

30/01/2008 - 11:55 por JUKER | Informe spam
Saludos grupo.

Tengo varias macros en excell que se ejecutan al abrir el libro.
El problema es que en excell 2007 abre el libro viendose su contenido
y no se ejecuta la macro hasta que se habilita la ejecución de macros con
lo que se accede al contenido del libro sin pasar por macros de registro de
la
aplicación etc.
Agradeceria cualquier sugerencia.

Por otro lado en la proteccion del libro en la macro autoopen proteger las
hojas en un bucle
salvo para el uso de la interfaz, pero cuando tengo que realizar cambios en
el libro lo desprotejo
y luego al abrirlo sigue desprotegido. No se que sucede parece que cuando se
desproteje desde el propio libro,luego
la proteccion de la macro autopen no funciona. Y en la proteccion desde el
libro no puedo intrucir el useinterfazonly=true.
 

Leer las respuestas

#1 Héctor Miguel
30/01/2008 - 22:10 | Informe spam
hola, 'anonimo/a' !

__ 1 __
Mostrar la cita
1) sucede lo mismo si tu libro se abre en alguna version previa a 2007 SIN "permiso" de ejecutar sus macros
y/o si aun dando permiso de usarlas, se mantiene pulsada la tecla {shift/mayusc} mientras se abre
(no se ejecutan macros ni procedimientos de auto-apertura) :-((

-> lo usual/recomendado/... para estos casos es mantener ocultas las hojas "apropiadas" siempre que se guarde tu libro
y mantener visible solo una hoja como "pantalla", ya sea con instrucciones o ??? (o asegurarte de ello al momento de cerrarlo)
y que sean los procedimientos de auto-apertura los que se encarguen de mostrar... (lo que sea necesario) ;)

__ 2 __
Mostrar la cita
2) prueba con instrucciones +/- como las siguientes en el modulo de codigo de tu objeto ThisWorkbook

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, objetos incrustados y algunas mas)

saludos,
hector.

Preguntas similares