Защита листов паролями(программно) и снятие паролей

Программирование на Visual Basic for Applications
OlegX
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 25.08.2003 (Пн) 14:08
Откуда: Arkhangelsk

Защита листов паролями(программно) и снятие паролей

Сообщение OlegX » 25.08.2003 (Пн) 14:22

Подскажите пожалуйста, кто знает, как сделать программно снятие пароля листа, чтобы при вводе неверного пароля (по ошибке) не выскакивало никаких сообщений. В моем варианте при открытии какого-либо листа через меню (comboBox) этот лист активизируется, выскакивает окошко для ввода пародя с клавиатуры, но если ввести неправильно пароль - пишет ошибку и открывает VBA -я не знаю, как от этой ошибки избавиться, и сделать, чтобы если пароль набран неправильно, она предлагала бы ввести его снова, пока не ввести корректный пароль либо просто закрыть программу.

Фрагмент Sub CommandButton1_Click():

l = UserForm.ComboBox1.ListIndex
If l >= 0 Then
Worksheets(ComboBox1.Text).Activate
UserForm.Hide
Worksheets(ComboBox1.Text).Visible = True
ActiveSheet.Unprotect
End If

Буду благодарен за помощь. (просто под руками нету у меня нужной литературы, пользуюсь чисто примерами и подсказкой помощника по VBA)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.08.2003 (Вт) 5:01

Метод unprotect имеет параметр - собственно пароль. Так что activesheet.unprotect password. Кроме того, при программном запароливании можно поставить флаг userinterfaceonly, который показывает, что юзеру облом, а вот макрос может всё менять.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 98

    TopList