Страницы: 1
RSS
доступ к файлу через ЛОГИН и ПАРОЛЬ, + разграничение прав управления
 
антиспам -повторите текст и приложите файл-пример
Не бойтесь совершенства. Вам его не достичь.
 
Добрый день, выполняя упражнение по методичке Авторизация в Excel на VBA (можно найти в гугле)
столкнулся с тем что в любом случае выходит ошибка Неверный пароль. Решив отказаться от функции и модуля GetHash которая хеширует и проверяет пароли
хотел сделать простую проверку через ту же страничку, где хранятся пароли макросом соответствия ячеек (логин - пароль).
Но теперь форма пропускает только первый логин admin, а остальные так же пишет Неверный пароль
Где я ошибся в коде? и почему он изначально не работал?
 
Кирилл Аминов, и как запустить файл?)
Не бойтесь совершенства. Вам его не достичь.
 
Странно что он не запускается сам, там на кладке main есть кнопка старт
 
Кирилл Аминов, я уже понял у вас защита не стоит а просто форма)
не понял, что должен делать макрос, но как то так
Код
Private Sub CommandButton1_Click()
Dim log As Range, pas As String
If (TextBox_Login = "") Or (TextBox_Pass = "") Then 'предупреждение на заполнение полей логина/пароля
    MsgBox "Не введен логин или пароль!", vbInformation + vbOKOnly, "Внимание!"
    Exit Sub
End If
LastRow = Sheets("Settings").Cells(Rows.Count, 1).End(xlUp).Row 'проверка списка логинов
Set log = Sheets("Settings").Columns(1).Find(TextBox_Login, LookAt:=xlWhole)
    If Not log Is Nothing Then
        Worksheets("Settings").Range("F1") = TextBox_Login 'лгин записывается в ячейку F1
        Worksheets("Settings").Range("H1") = log.Offset(0, 1)
        Worksheets("Settings").Range("J1") = log.Offset(0, 2)
        pas = log.Offset(0, 1)
        If pas = TextBox_Pass Then
            user_group Worksheets("Settings").Range("J1").Value 'и если все ок - запускается макрос разграничения групп доступа
            Unload Authorization
            Exit Sub
        Else
            MsgBox "Неверный пароль", vbCritical + vbOKOnly, "Внимание!"
        End If
    Else
        MsgBox "Пользователя с данным логином не существует.", vbInformation + vbOKOnly, "Внимание!"
    End If
End Sub
Изменено: Mershik - 27.11.2020 16:04:10
Не бойтесь совершенства. Вам его не достичь.
 
Спасибо Вам огромное всё заработало, дальше я сам все сделаю как мне нужно. Чаевые включены  :)  
 
Кирилл Аминов, что бы проще в вашем макросе строку замените ,получается что вы сравниваете тест и число .
Код
If TextBox_Pass = WorkSheets("Settings").Range("H1") Then  'сравниваются пароли
на
Код
If TextBox_Pass = CStr(WorkSheets("Settings").Range("H1")) Then  'сравниваются пароли
Изменено: Mershik - 27.11.2020 16:10:46
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
If TextBox_Pass = CStr(WorkSheets("Settings").Range("H1")) Then  'сравниваются пароли
И здесь всё заработало, СПАСИБО ОГОРОМНОЕ жду не дождусь когда установится приложение на телефон для благодарности. (нахожусь за полярным кругом)
 
Кирилл Аминов, удачи) не мерзните)
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1
Наверх