Habilitar guardado al cerrar libro con usuario y clave

Para continuar con la aplicación de Eventos, Métodos y Propiedades del Objeto Workbook vamos a construir un sistema de autenticación para el cierre y guardado de cambios del libro de Excel con Usuario y Contraseña donde también utilizaremos el evento BeforeSave, el Método Close y la propiedad Save del Objeto Workbook.

Evento BeforeSave: Al ingresar cualquier macro en este Evento, estas se ejecutarán automáticamente al momento de dar la instrucción Guardar Libro de trabajo.

Método Close: Con la aplicación de este método, lo que estamos indicando desde VBA es la opción de cerrar el libro de Excel; en caso de que el libro haya sufrido cambios desde la última vez que se guardó, el sistema presenta la ventana de diálogo donde pregunta si se desea guardar los cambios o cancelar la acción.

Propiedad Save: Con la aplicación de esta propiedad, lo que podemos configurar es el proceso de guardado automático de los cambios realizados en el libro de trabajo realizados después del último proceso de cambio; esto con el fin de prevenir la pérdida de datos nuevos o cambios que realicemos sobre el libro.

Desde Excel abrimos el Editor VBA (Alt + F11), y damos doble clic en el Objeto ThisWorkbook donde pegamos el siguiente código:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Usuario = InputBox("Por favor ingrese su Usuario para proceder a Guardar")

Clave = InputBox("Por favor ingrese su Clave para proceder a Guardar")

If Usuario <> "gerencie" Or Clave <> "12345" Then

MsgBox ("Datos de autenticación incorrectos")

ActiveWorkbook.Close Savechanges:=False

End If
End Sub

Queda de la siguiente manera en el Módulo:

Veamos lo que significan cada una de las líneas:

  1. La primera línea Sub Workbook_BeforeSave (), indica el inicio de la macro.
  2. En esta segunda línea estamos solicitando que se ingrese un Usuario mediante un cuadro de mensaje (que veremos más adelante su uso).
  3. En la tercera línea estamos solicitando que se ingrese una Clave mediante un cuadro de mensaje (que veremos más adelante su uso).
  4. En la cuarta línea aplicamos la estructura condicional IF para validar SI el Usuario no coincide con la palabra “gerencie” o la Clave no coincide con los números “12345” y en caso tal se ejecuta la línea 5
  5. En esta línea se presenta un mensaje informando que los datos de autenticación no son correctos.
  6. Luego de informar que los datos no son correctos se aplicar el método Close del objeto ActiveWorkbook para cerrar el libro de trabajo actual con la propiedad Savechanges en False (False)
  7. La última línea marca el fin (End) de la Macro o Subrutina (Sub).

Ahora al cerrar el libro nos pedirá el usuario y la clave que permite cerrar el libro y guardar los cambios en caso de coincidir y en caso de no coincidir la información el libro se cerrará sin guardar cambios.

Descargar archivo.

Contenido relacionado:
Compartirlo
Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Déjenos su opinión

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc., pero debe hacerlo sin insultar y sin ofender a otros.

Información legal aplicable para Colombia.