30 Macros útiles y sencillas: Mensaje saludo personalizado parte 1

Ahora si vamos a utilizar los códigos que ya aprendimos sobre obtener información de la computadora para implementar un sistema de autenticación mediante la aplicación de la propiedad Environ(“USERNAME”). La idea es que al momento de abrirse el archivo Excel, podamos comparar el nombre de usuario de la computadora que intenta abrir el archivo con un usuario que tengamos definido como el único que puede abrir el archivo; esto es muy útil por ejemplo si deseamos que un archivo que se encuentra en una red por ejemplo empresarial, solo pueda ser abierto por mi usuario y el de nadie mas.

Lo primero que vamos a hacer es ingresar al Editor de Visual Basic y para ello desde la primera hoja utilizaremos la combinación de teclas Alt + F11:

Nos ubicamos en la ventana del Explorador de Proyectos que tenemos en el panel izquierdo de la ventana del Editor de Visual Basic y damos doble clic sobre el Objeto ThisWorkbook

Private Sub Workbook_Open()

On Error Resume Next

Usuario = Environ("USERNAME")

If Usuario <> "MiUsuario" Then

MsgBox "No estas autorizado para abrir este Libro"

ActiveWorkbook.Close

Exit Sub

End If

End Sub

La primea línea marca el principio de la macro y vamos a desglosar esta línea para entender un poco mejor esta macro:

Private Sub: significa Subrutina (Sub) o macro de acceso Privado (Private) y este acceso se aplica cuando se intenta ejecutar desde otra macro.

Workbook: Corresponde a la indicación de que la macro se aplicará sobre el libro de Excel que en ingles se denomina Workbook.

Open: Corresponde al evento Abrir, es decir, cuando se abra el libro de trabajo se van a ejecutar unas líneas de código.

En resumen, esta primera línea se interpreta como macro que se ejecutará al momento de abrirse el libro de trabajo.

La segunda línea On Error Resume Next, es el código con el cual se hace el manejo de los errores que se puedan presentar en la ejecución de la macro para que en caso de que se presente un error, la macro no se detenga abruptamente si no que se detenga su ejecución sin afectar la operación del libro de trabajo.

En la tercera línea estamos haciendo uso de una variable llamada “Usuario” en la cual estamos almacenando el nombre del Usuario del computador donde se está abriendo el archivo; esto lo logramos con el uso de la propiedad Environ, la cual nos permite obtener varias características del computador donde se esté trabajando y para obtener el nombre de usuario se usa colocando entre paréntesis y comillas el código “USERNAME”

En la cuarta línea estamos realizando una validación IF donde preguntamos Si, el nombre de usuario que almacenamos previamente en la variable Usuario es Diferente a “MiUsuario” (acá es donde debes colocar tu usuario) entonces pase a las siguientes líneas 5 y 6 donde:

  • Línea 5: Se informa mediante un mensaje que el usuario que esta intentando abrir el archivo no tiene permisos para ello
  • Línea 6: ActiveWorkbook.Close lo que hace es cerrar el libro de trabajo para que no se pueda trabajar en este.
  • Línea 7: Exit Sub lo que hace es terminar de ejecutar la macro

La última línea marca el final de la macro con la instrucción End Sub

Prueben aplicando este código y recuerden reemplazar en la línea 4 en la instrucción IF donde dice “MiUsuario” por el usuario de sus máquinas para poder abrir el archivo solo por ustedes.

Descargar archivo de trabajo.

MÁS SOBRE

Gerencie.com en su correo.

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

Siéntase libre de opinar

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.