Страницы: 1
RSS
Доступ к части кода определенному кругу пользователей
 
Всем привет!
При написании макросов иногда выделяю отдельно операции, которые будут выполняться только на моем компьютере, например так:
Код
    Dim objNetwork As Object
    Set objNetwork = CreateObject("WScript.Network")
    ComputerName = objNetwork.ComputerName
    Set objNetwork = Nothing
    If ComputerName Like "IMANTROV-NB" Then
        'Операции для меня    
    else        
        'Операции для других пользователей
    End If

А что если нужно дать доступ нескольким пользователям. Как сформировать небольшой список из имен (4-5 шт.) и сравнивать имя пользователя с этим списком?
Изменено: IvanMantrov - 28.06.2019 10:31:07
 
IvanMantrov  используйте словарь. Пример:
Код
Sub Button1_Click()
    arr = Array("12", "323", "434")
    Set slov = CreateObject("Scripting.Dictionary")
    For i = 0 To UBound(arr)
        slov.Item(arr(i)) = i
    Next i
    If slov.exists("323") Then MsgBox "sdsd"
End Sub
Изменено: skais675 - 28.06.2019 11:19:39
 
skais675,Спасибо, попробую!
 
Цитата
IvanMantrov написал:
If slov.exists("323") Then
Т.е. тут идет проверка одного элемента? "323". А как вместо него имя компьютера подставить. Неважно какое, просто чтобы он сравнил его со списком
 
Цитата
skais675 написал: используйте словарь
Код
Sub Button1_Click()
Dim arr(), I&, iTemp
Dim ComputerName$
ComputerName = CreateObject("WScript.Network").ComputerName
arr = Array("User1", "User2", "User3") 'массив имен пользователей
With CreateObject("Scripting.Dictionary")
    For I = LBound(arr) To UBound(arr)
        iTemp = .Item(arr(I))
    Next
    If .Exists(ComputerName) Then
        'Операции пользователей из списка
    Else
        'Операции для других пользователей
    End If
End With
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sanja,ОГОНЬ! Спасибо, работает. Не все понятно н.с. кода, но разберусь
Страницы: 1
Наверх