Quitar y poner "Solo Lectura" para guardar un archivo.

09/09/2009 - 16:04 por JC | Informe spam
Hola a Tod@s:

Agradecería infinito a quien me pudiera detallar los comandos en VBA
necesarios para:
1.- Poder quitar el "Solo Lectura" de un archivo .xls
Después pasaría a guardar ese archivo, tras unas modificaciones
2.- Y posteriormente necesitaría volver a poner de nuevo con comandos el
"Solo Lectura" al mismo archivo.

Mil gracias (como siempre) por vuestra amabilidad y gentileza.

Un abrazo

Juan Carlos
 

Leer las respuestas

#1 Héctor Miguel
09/09/2009 - 21:13 | Informe spam
hola, Juan Carlos !

... los comandos en VBA necesarios para:
1.- Poder quitar el "Solo Lectura" de un archivo .xls
Despues pasarua a guardar ese archivo, tras unas modificaciones
2.- Y posteriormente necesitaria volver a poner de nuevo con comandos el "Solo Lectura" al mismo archivo...



1) existen (al menos) dos formas de solo lectura para los archivos de excel...
a) al momento de guardarlos (archivo / guardar como... / buscar en las opciones) y marcar la opcion de:
recomedar que se abra como de solo lectura (a la vez que) puedes asignarle una clave contra-escritura al abrirse
y/o cuando se abre y NO se provee la clave que tenga contra la apertura del archivo
b) modificando las propiedades del archivo desde el sistema operativo (NO es exclusivo de excel, sino de windows)

2) si te refieres a cambiar el modo de acceso (exclusivo o no) al archivo EN/durante la sesion de excel...
a) consulta en la ayuda de vba-excel por el metodo .ChangeFileAccess y la propiedad .ReadOnly
b) si estableces (en la sesion) un modo de acceso de solo lectura... -> ActiveWorkbook.ChangeFileAccess xlReadOnly
- NO es posible que el usuario le guarde cambios (seria necesario usar un guardar como... y darle OTRO nombre)
- si suponemos que esta guardado con el metodo anterior... la siguiente vez que se abra... regresa al modo xlReadWrite

3) en via de mientras, una (posible) alternativa es una macro (despues de las modificaciones) para
- quitar el modo de solo lectura
- guardar los cambios
- reponer el modo de solo lectura

Application.DisplayAlerts = False
ThisWorkbook.ChangeFileAccess xlReadWrite
ThisWorkbook.Save
ThisWorkbook.ChangeFileAccess xlReadOnly
Application.DisplayAlerts = True

comentas por donde van los tiros ?
saludos,
hector.

Preguntas similares