Limitar o uso da macro do Excel a certos usuários

3

Eu quero que minhas macros do Excel sejam ativadas para determinados usuários reconhecidos pelo Windows Excel. Como faço isso?

    
por GTyler 03.08.2015 / 06:54

2 respostas

4

Você pode usar o environ ("username") para obter o ID de logon da janela do usuário. Você pode usar isso para determinar se a macro deve ser executada ou não.

    
por 03.08.2015 / 15:40
1

Só para expandir a resposta existente , você precisará de algo assim para cada macro -

Sub macro1()
    If test() Then
        MsgBox ("you can use macros!")
    'do stuff
    End If
End Sub

Você iniciará todas as macros chamando test()

Function test()
test = False
'Pass the user to the checking function
If allowed(Environ("username")) Then
    test = True
    Else: MsgBox ("You can't use macros here")
End If
End Function

Esta função chamará seu cheque para ver se o usuário faz parte da lista permitida:

Public Function allowed(ByRef TF As String) As Boolean
    Dim arr As Variant
    arr = Array("name1", "name2", "name3")

    For Each Item In arr
        If Item = TF Then
        allowed = True
        Exit Function
        Else: allowed = False
        End If
    Next

End Function
    
por 03.08.2015 / 19:54