我希望我的 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