限制特定用户的 Excel 宏使用

限制特定用户的 Excel 宏使用

我希望我的 Excel 宏能够为 Windows Excel 识别的某些用户激活。我该怎么做?

答案1

您可以使用 environ("username") 获取用户窗口的登录 ID。您可以使用它来确定是否应运行宏。

答案2

只是为了扩展现有答案,你需要为每个宏添加类似这样的内容 -

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

您将开始调用所有宏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

此函数将调用您的检查来查看用户是否属于允许列表的一部分:

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

相关内容