Страницы: 1
RSS
Событие по Enter в форме!
 
Доброго всем времени суток.  
Подскажите пожалуйста мне по следующему вопросу: у меня есть форма, которая отображается при открытии файла и которая предлагает просмотреть открываемый файл или отредактировать. Для возможности редактирования предлагается ввести пароль в TextBox и нажать кнопку ОК. Но рука по привычке после ввода пароля жмет на Enter, а это приводит к закрытию формы и соответственно к просто просмотру файла без возможности редактирования. Подскажите, что добавить в код макроса, чтобы при нажатии Enter после ввода пароля это нажатие отрабатывалось как нажатие кнопки ОК.  
 
Private Sub ButtonOK_Click()  
   If TextBox.Text <> "123" Then  
   MsgBox "Вы ввели неправильный пароль!   "  
   GoTo dd  
   Else  
   Range("B7,B11,B13,B15").Locked = False  
   Unload Me  
   End If  
dd:  
   TextBox.Text = ""  
End Sub
 
попробуйте при инициализации формы ввести  
ButtonOK.default=true  
должно помочь
 
{quote}{login=kaa}{date=07.10.2008 05:15}{thema=}{post}попробуйте при инициализации формы ввести  
ButtonOK.default=true  
должно помочь{/post}{/quote}  
 
Не помогло. Форма раскрывающаяся. Для редактирования нажимается кнопка на форме "Редактирование" и форма увеличивается в размере вниз и появляется поле для ввода пароля.
 
хм...  
у меня все работает
 
Может быть так:  
 
Private Sub ButtonOK_Click()  
   Do While TextBox.Text <> ""  
       If TextBox.Text <> "123" Then  
           MsgBox "Вы ввели неправильный пароль! "  
       Else  
           Range("B7,B11,B13,B15").Locked = False  
           Unload Me  
       End If  
   Loop  
   TextBox.Text = ""  
End Sub
 
Меня научили вот так:  Если у Вас CommandButton1_Click это «ОК», то  
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)  
  CommandButton1_Click  
End Sub  
И всё по Enter вводится
 
Да спасибо, с кодом Юрия заработало, но не совсем так как хотелось бы. Теперь после ввода правильного пароля все так как должно быть. А вот если пароль был введен не правильно, появляется сообщение о неправильно введенном пароле и по моей задумке тест бокс для ввода должен очищаться и форма остается на экране для второй попытки, по после нажатия ОК на сообщении о неправильном пароле форма закрывается. Как это поправить?  
 
Private Sub UserForm_Initialize()  
   Me.Height = 198  
End Sub  
 
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)  
   ButtonOK_Click  
End Sub  
 
Нажатие кнопки редактирования.  
Private Sub ButtonEdit_Click()  
   If Me.Height = 198 Then  
   TextBox1.PasswordChar = "*"  
   TextBox1.SetFocus  
   Me.Height = 228  
   metka_pass = False  
   ButtonOK.Default = True  
   ElseIf Me.Height = 228 Then  
   Me.Height = 198  
   End If  
End Sub  
 
Нажатие кнопки ОК после ввода пароля.  
Private Sub ButtonOK_Click()  
   If TextBox1.Text = "16155161" Then  
       Range("B7,B11,B13,B15").Locked = False  
       Sheets("Лист3").Activate  
       metka_pass = True  
       Unload Me  
   Else  
       MsgBox "Вы ввели неправильный пароль!   "  
       TextBox1 = ""  
       TextBox1.SetFocus  
   End If  
End Sub
 
Никто не поможет?
 
я выкладывал файл. там реализавано то, что ты хочешь
 
Давйте ваш фал с формой - посмотрим. Не рисовать же самому неизвестно что
 
Файл с формой. Пароль на все 123
 
ну вот, все работает
 
Ну не работает: вводим неправильный пароль нажимаем энтер и форма закрывается без всяких сообщений.
 
ща домучаем... :о)
 
вот.  
 
вставил твой код в свою форму - все заработало. чудеса...
 
Если пароль 123 верный, то почему все время MsgBox талдычит, что пароль НЕВЕРНЫЙ?
 
а если в код глянуть? видно я на "1" поменял....
 
kaa может я тупой, но все же. В Вашем файле все работает.  
Я беру код из Вашего файла копирую весь целиком, вставляю в свой файл, который я здесь выкладывал выше и НЕ РАБОТАЕТ, т.е. форма при неправильном пароле закрывается. Что не так?????? Может вы еще чего в свойствах элементов формы меняли или еще чего????
 
я же говорю - чудеса. это не я, это, скорее всго, вы что-нить поменяли, потому что я брал "новые" объекты.  
выход из положения - сохраняйте мою форму (правой кнопкой на форму - Экспорт файл) и всавляйте ее в свой проект. ну и красоту под себя наводите... ну или удалите свою и создайте все по новой.
 
Да, спасибо каа я нашел, у меня в параметре кнопок формы стоял Default True, а у Вас False, я поменял и все работает! Ура!
Страницы: 1
Читают тему
Наверх