Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Событие выделенного TextBox при нажатии на Enter / 9 сообщений из 9, страница 1 из 1
29.11.2009, 11:53
    #36337438
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Подскажите какое событие назначить выделенному TextBox, чтобы при нажатии клавишу Enter (или например комбинации клавиш) запустить макрос или выделить кнопку на на форме через SetFocus
...
Рейтинг: 0 / 0
29.11.2009, 12:46
    #36337484
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Dan-K,
...
Рейтинг: 0 / 0
29.11.2009, 12:48
    #36337487
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Предыдущее сообщение сорвалось... Удалите, пожалуйста, кому не лень.
Возможный вариант приложил
...
Рейтинг: 0 / 0
29.11.2009, 13:31
    #36337519
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Frame2_Enter()
  TabStop False
End Sub

Private Sub Frame2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  TabStop True
End Sub

Private Sub UserForm_Initialize()
  TabStop True
End Sub

Private Sub TabStop(IsOn As Boolean)
  Me.Frame1.TabStop = IsOn
  Me.Frame2.TabStop = IsOn
End Sub
А можно закомментировать?

Очень хочется материться, читая Уокенбабаха
...
Рейтинг: 0 / 0
29.11.2009, 14:10
    #36337547
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Если не использовать элементы Frame, то будет работать, как описал Уокенбах.
Так как у Вас каждый текстбокс находится внутри отдельного элемента Frame, то Frame устанавливают свои правила навигации: внутри – с нулевого индекса, снаружи – по индексу Frame.
Если установить у элемента формы свойство TabStop = False, то элемент не будет получать фокус при навигации.
В Вашем первоначальном примере (без кода) можно установить вручную свойство TabStop = False для Frame1 и Frame2. При этом получим почти то, что и требовалось – переход будет осуществляться на единственный элемент CommandButton1 с TabStop = True. Но уйти с CommandButton1 по Tab или Shift-Tab уже не удастся, так как некуда.
При переходе на CommandButton1 можно восстановить TabStop = True для Frame1 и Frame2, тогда будет куда переходить.

Наверно, есть и другие, менее извращенные варианты :-)
...
Рейтинг: 0 / 0
29.11.2009, 14:14
    #36337550
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Так проще и правильнее:
Private Sub Frame2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Me.CommandButton1.SetFocus
End Sub
...
Рейтинг: 0 / 0
29.11.2009, 15:17
    #36337599
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Спасибо за комментарий. А книжечку какую-нибудь не посоветуете? А то Уокенбах сознательно замыливает наиболее интересные "ХОДЫ" которые можно использовать в создании пользовательских форм.
...
Рейтинг: 0 / 0
29.11.2009, 16:21
    #36337656
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Не припомню, чтобы по формам что-то подробное попадалось.
В основном приходится узнавать методом проб и ошибок, по справке и по форумам.
Но Уокенбах "Профессиональное программирование на VBA в Excel 2002(3,7)" все же заслуживает внимания.
Список другой литературы есть, например, http://www.planetaexcel.ru/forum.php?thread_id=8763] здесь , но Вам он, похоже, знаком ;)
...
Рейтинг: 0 / 0
29.11.2009, 19:21
    #36337808
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие выделенного TextBox при нажатии на Enter
Именно эту книжку (2003) я и читаю, матерясь на крайнюю скудость изложения материалов по пользовательским формам.
А самое обидное что ничего не могу найти специализированного по взаимодействию Экселя с Аксом.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Событие выделенного TextBox при нажатии на Enter / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]