Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Событие KeyUp возникает, когда пользователь отпускает клавишу, когда фокус находится на форме или элементе управления. Это событие также происходит при отправке нажатия клавиши в форму или элемент управления с помощью действия SendKeys в макросе или инструкции SendKeys в Visual Basic.
Синтаксис
выражение. KeyUp (KeyCode, Shift)
выражение Переменная, представляющая объект CommandButton .
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| KeyCode | Обязательный | Integer | Код ключа, например vbKeyF1 (клавиша F1) или vbKeyHome (клавиша Home). Чтобы указать коды клавиш, используйте встроенные константы, показанные в обозревателе объектов. Можно предотвратить нажатие клавиш объектом, задав значение 0 для параметра KeyCode . |
| Shift | Обязательный | Integer | Состояние клавиш SHIFT, CTRL и ALT во время события. Для проверки аргумента Shift в качестве битовых масок можно использовать одну из следующих встроенных констант:
|
Примечания
Чтобы запускать макрос или процедуру события при таких событиях, задайте для свойства OnKeyUp имя макроса или [Процедура обработки событий].
В обоих случаях объект, находящийся в фокусе, получает все нажатия клавиш. Форма может быть в фокусе, только если на ней нет элементов управления или все ее видимые элементы управления недоступны.
Форма также будет получать все события клавиатуры, даже те, которые происходят с элементами управления, если вы зададите для свойства KeyPreview формы значение Да. При использовании этого свойства все события клавиатуры сначала для формы, а затем для элемента управления, находящегося в фокусе. Вы можете реагировать на определенные клавиши, нажатые в форме, независимо от того, на каком элементе управления установлен фокус. Например, можно захотеть, чтобы сочетание клавиш CTRL+X всегда выполняло одно и то же действие с формой.
Если нажать и удерживать клавишу, события KeyDown и KeyPress повторяются несколько раз (KeyDown, KeyPress, KeyDown, KeyPress и т. д.), пока вы не отпустите клавишу, после чего произойдет событие KeyUp .
Хотя событие KeyUp происходит при нажатии большинства клавиш, оно обычно используется для распознавания или различения:
Расширенные клавиши знаков, такие как функциональные клавиши.
клавиши навигации, такие как HOME, END, PGUP, PGDN, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, СТРЕЛКА ВПРАВО, СТРЕЛКА ВЛЕВО и TAB;
сочетания клавиш и стандартные клавиши-модификаторы (клавиши SHIFT, CTRL или ALT);
Клавиши цифр числовой панели и клавиатуры.
Событие KeyUp не происходит при нажатии:
Клавиша ВВОД, если в форме есть кнопка, для которой свойство По умолчанию имеет значение Да.
Клавиша ESC, если форма содержит командную кнопку, для которой свойству Cancel присвоено значение Да .
Событие KeyUp возникает после любого события элемента управления, вызванного нажатием или отправкой клавиши. Если в результате нажатия клавиши фокус перемещается с одного элемента управления на другой, событие KeyDown происходит для первого элемента управления, а события KeyPress и KeyUp — для второго.
Чтобы узнать символ ANSI, соответствующий нажатой клавише, используйте событие KeyPress .
Если модальное диалоговое окно отображается в результате нажатия или отправки клавиши, происходят события KeyDown и KeyPress , но не происходит событие KeyUp .
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.