Guardar archivo de Excel solo si se ingresa contraseña
En el artículo llamado Macro para impedir que se guarde un archivo de Excel exponíamos una macro que no te permitía guardar cambios en un archivo ni guardar una copia del mismo.
El código tiene la debilidad de que si queremos, como creadores, guardar cambios que no querramos que otros modifiquen, debíamos deshabilitar macros para hacer los cambios y luego volver a habilitarlas.
La mejora
Mediante la función InputBox lanzamos un diálogo que nos permite introducir una contraseña, y sólo si ingresamos la adecuada, nos permitirá guardar cambios o guardar una copia.
Código
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Pass = "12345" Confirma = InputBox("Escribe una contraseña para continuar.", _ "EXCELeINFO - Guardar") If Confirma = Pass Then Else MsgBox "No tienes permitido guardar el archivo.", vbCritical, _ "EXCELeINFO" Cancel = True End If End Sub
Animación de la macro en ejecución