Я хочу, чтобы мои макросы Excel активировались для определенных пользователей, распознаваемых Windows Excel. Как я могу это сделать?
2 ответа
4
Вы можете использовать окружение ("имя пользователя"), чтобы получить идентификатор входа в Windows пользователя. Вы можете использовать это, чтобы определить, должен ли макрос выполняться или нет.
1
Просто чтобы расширить существующий ответ, вам нужно что-то подобное для каждого макроса -
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