Que solamente algunos usuarios puedan correr una macro

Aquí les paso el código para que solamente algunos usuarios puedan ejecutar una macro. Copien esta macro en un módulo nuevo. Modifiquen la línea 8, que dice

Usuarios_con_permiso = Array("Hugo", "Paco", "Luis", "Armando")

Escriban los usuarios autorizados como los teclean para entrar a Windows en lugar de «Hugo», «Paco», «Luis», «Armando».

Option Explicit
 
Function Rechazar_Usuario() As Boolean
    Dim Usuarios_con_permiso As Variant
    Dim num_persona As Integer

    ' Esta es la línea donde tienen que poner los usuarios autorizados.    
    Usuarios_con_permiso = Array("Hugo", "Paco", "Luis", "Armando")
    
    Rechazar_Usuario = True
    For num_persona = 0 To UBound(Usuarios_con_permiso)
        If Usuarios_con_permiso(num_persona) = Environ$("Username") Then
            Rechazar_Usuario = False
            Exit For
        End If
    Next num_persona
End Function

Esto les va a dar la función Rechazar_Usuario(), que regresa VERDADERO cuando el usuario actual no está en los usuarios autorizados, y FALSO si es un usuario autorizado.

Aquí tienen un ejemplo de cómo usarlo.

Sub Prueba()
    If Rechazar_Usuario() Then
        MsgBox "Usted no puede correr esta macro, " & Environ$("Username") & ", ni modo pero 'lero, lero, chapuchero'."
        Exit Sub
    End If
    ' Y aquí pones el resto del programa.
    MsgBox "Hola, don " & Environ$("Username") & " qué gusto de poder ayudarle."
    
End Sub

Si les sirve, me encantaría que me dejaran un comentario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*