VBA, solo lectura

pirate -  
eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   -
Hola a todos,

Estoy tratando de asegurar al máximo un archivo cuando se abre en solo lectura.
Me explico, cuando se abre el archivo, solicita una contraseña o abrirlo en solo lectura; si lo abro en solo lectura, me gustaría bloquear la entrada de datos, el guardado, etc.

Estoy en:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Me.ReadOnly = True Then
Application.Undo
MsgBox "Este archivo está en solo lectura, no se permite la entrada de datos"
ThisWorkbook.Saved = True
End If
Application.EnableEvents = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ActiveWorkbook.ReadOnly = True Then
SaveAsUI = False
Cancel = True
End If
End Sub

El problema es que a veces aparece el cuadro de diálogo que pregunta si quiero guardar el documento al cerrarlo, permitiendo así el guardado como.

El objetivo de todo esto es evitar que mis colegas (muy, muy, muy novatos en Excel) que lo utilizarán creen múltiples copias del mismo documento.

¡Gracias de antemano por su ayuda!

2 respuestas

rEVOLV3r Mensajes publicados 223 Fecha de registro   Estado Miembro Última intervención   28
 
Un método que no es muy bonito consiste en usar esto:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Close False
End Sub

Esto tendrá el efecto de cerrar el libro de Excel sin pedir guardar el archivo, pero también dejará una ventana de Excel gris vacía.
Seguro que hay una mejor manera, pero este funciona.
Que tengas un buen día.
0
pirate
 
¡Muchas gracias!

He encontrado otras cosas que funcionan muy bien.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.ReadOnly = True Then
Application.ThisWorkbook.Saved = True 'Informa a Excel que el archivo ya ha sido guardado (esto evita que se pida guardar al cerrar)
End If
End Sub
0
eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
 
Hola,

un poco tarde, pero tal vez sirva de algo.
Puedes prescindir de la supervisión de las modificaciones.
'Guardar como...', a la izquierda del botón Guardar tienes un menú desplegable Herramientas.
En Opciones generales puedes elegir una contraseña para prohibir las modificaciones más una casilla para marcar Lectura recomendada.
En tu caso, aún queda por tratar el Guardar como y el Cerrar.
eric

--
Al intentar continuamente, al final se logra.
Así que cuanto más fallemos, más oportunidades tenemos de que funcione. (los Shadoks)
Además de dar las gracias (¡sí, sí, eso se hace!!!), recuerda marcar como resuelto. Gracias.
0