vba код клавиши enter

Vba код клавиши enter

Private Sub TextBox1_KeyPress ( ByVal KeyAscii _
As MSForms.ReturnInteger)
If Chr(KeyAscii) Or Chr(KeyAscii) > «9» _
And Chr(KeyAscii) Or Chr(KeyAscii) > «Я» _
And Chr(KeyAscii) Or Chr(KeyAscii) >»я» Then
MsgBox «Недопустимый символ!»
KeyAscii = 0
End If
End Sub

Теперь в текстовое поле можно будет ввести только русские буквы и цифры, остальные символы будут игнорироваться. Вид кода немного пугает, но на самом деле здесь все просто. Давайте рассмотрим его подробнее:
Private Sub TextBox1_KeyPress( ByVal KeyAscii _
As MSForms.ReturnInteger)

Это процедура обработки события KeyPress(Нажатия клавиш) для элемента TextBox1.Что-бы ее вызвать, нужно дважды щелкнуть на форме(на форме должен быть элемент TextBox), при этом откроется окно модуля формы. Вверху окна, слева, необходимо выбрать TextBox1, а справа KeyPress.

Примеры

Private Sub TextBox1_KeyPress ( ByVal KeyAscii _
As MSForms.ReturnInteger)
If KeyAscii Or KeyAscii > «57» Then
MsgBox «Недопустимый символ!»
KeyAscii = 0
End If
End Sub

Если количество недопустимых символов небольшое, то удобнее воспользоваться следующим кодом:

Можно сделать наоборот:

Private Sub TextBox1_KeyPress ( ByVal KeyAscii _
As MSForms.ReturnInteger)
If KeyAscii = Asc(«1») Then KeyAscii = Asc(«7»)
End Sub

Виртуальные коды клавиш Windows

Private Sub TextBox1_KeyDown ( ByVal KeyCode _
As MSForms.ReturnInteger, ByVal Shift As Integer )
If KeyCode = vbKeyControl Then MsgBox «Нажата клавиша Ctrl »
‘Если нажат «Ctrl», то выскакивает сообщение
End Sub

Здесь в отличии процедуры обработки события KeyPress, процедура KeyDown.Для ее вызова нужно дважды щелкнуть на форме (на форме должен быть элемент TextBox),при этом откроется окно модуля формы. Вверху окна, слева, необходимо выбрать TextBox1,а справа KeyDown(также, как для события KeyPress, см.выше).
vbKeyControl – константа описывающая клавишу «Ctrl»

Источник

Vba код клавиши enter

vba код клавиши enter vba код клавиши enter

RioranДата: Среда, 17.12.2014, 10:10 | Сообщение № 2
vba код клавиши enter

vdekameron, добрый день.

Если речь об использовании Application.OnKey, то для обычного ентера:

vdekameron, добрый день.

Если речь об использовании Application.OnKey, то для обычного ентера:

(знак тильды), для энтера с цифровой клавиатуры: Rioran

Сообщение vdekameron, добрый день.

Если речь об использовании Application.OnKey, то для обычного ентера:

RioranДата: Среда, 17.12.2014, 10:28 | Сообщение № 4
vba код клавиши enter

vdekameron, лови: vbKeyReturn

vdekameron, лови: vbKeyReturn

Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

Сообщение vdekameron, лови: vbKeyReturn

Источник

VBA Excel. Оператор SendKeys (имитация нажатия клавиш)

Имитация нажатия клавиш на клавиатуре в VBA Excel с помощью оператора SendKeys, в том числе эмуляция нажатия сочетаний клавиш. Синтаксис, коды, примеры.

Синтаксис оператора SendKeys

Параметры оператора SendKeys:

ПараметрОписание
stringОбязательный параметр. Строковое выражение, возвращающее код клавиши (сочетания клавиш).
waitНеобязательный параметр. Логическое значение, определяющее режим ожидания.
False (по умолчанию) – контроль процедуре возвращается сразу после отправки кода клавиш.
True – перед возвратом контроля процедуре коды клавиш обрабатываются.

Имитация нажатия клавиш

Для эмуляции нажатия специальных клавиш, включая функциональные и клавиши управления курсором, используются специальные коды, заключенные в фигурные скобки.

Коды специальных клавиш

КлавишаКод
BACKSPACE или
BREAK
CAPS LOCK
DEL или DELETE или
СТРЕЛКА ВНИЗ
END
ENTER или
ESC
HELP
HOME
INS или INSERT или
СТРЕЛКА ВЛЕВО
NUM LOCK
PAGE DOWN
PAGE UP
PRINT SCREEN
СТРЕЛКА ВПРАВО
SCROLL LOCK
TAB
СТРЕЛКА ВВЕРХ
F1 … F16

Эмуляция сочетаний клавиш

Чтобы указать сочетание клавиш с SHIFT, CTRL, ALT или их комбинацией, необходимо добавить перед кодом клавиши один или несколько следующих кодов:

КлавишаКод
SHIFT+
CTRL^
ALT%

* Обнаружено в Windows 8.1 (Excel 2016).

Примеры с оператором SendKeys

Коды примеров запускаются через кнопку на рабочем листе, иначе имитация нажатия клавиш произойдет в окне редактора VBA с записью символов внутри процедуры. Попробуйте, ради интереса, запустить код первого примера из редактора VBA.

Пример 1
Заполняем первые три ячейки столбца «A» различными значениями, имитируя нажатия клавиш из кода VBA Excel:

Источник

Keycode constants

The following constants can be used anywhere in your code in place of the actual values.

ConstantValueDescription
vbKeyLButton0x1Left mouse button
vbKeyRButton0x2Right mouse button
vbKeyCancel0x3CANCEL key
vbKeyMButton0x4Middle mouse button
vbKeyBack0x8BACKSPACE key
vbKeyTab0x9TAB key
vbKeyClear0xCCLEAR key
vbKeyReturn0xDENTER key
vbKeyShift0x10SHIFT key
vbKeyControl0x11CTRL key
vbKeyMenu0x12MENU key
vbKeyPause0x13PAUSE key
vbKeyCapital0x14CAPS LOCK key
vbKeyEscape0x1BESC key
vbKeySpace0x20SPACEBAR key
vbKeyPageUp0x21PAGE UP key
vbKeyPageDown0x22PAGE DOWN key
vbKeyEnd0x23END key
vbKeyHome0x24HOME key
vbKeyLeft0x25LEFT ARROW key
vbKeyUp0x26UP ARROW key
vbKeyRight0x27RIGHT ARROW key
vbKeyDown0x28DOWN ARROW key
vbKeySelect0x29SELECT key
vbKeyPrint0x2APRINT SCREEN key
vbKeyExecute0x2BEXECUTE key
vbKeySnapshot0x2CSNAPSHOT key
vbKeyInsert0x2DINSERT key
vbKeyDelete0x2EDELETE key
vbKeyHelp0x2FHELP key
vbKeyNumlock0x90NUM LOCK key

The A key through the Z key are the same as the ASCII equivalents A–Z.

ConstantValueDescription
vbKeyA65A key
vbKeyB66B key
vbKeyC67C key
vbKeyD68D key
vbKeyE69E key
vbKeyF70F key
vbKeyG71G key
vbKeyH72H key
vbKeyI73I key
vbKeyJ74J key
vbKeyK75K key
vbKeyL76L key
vbKeyM77M key
vbKeyN78N key
vbKeyO79O key
vbKeyP80P key
vbKeyQ81Q key
vbKeyR82R key
vbKeyS83S key
vbKeyT84T key
vbKeyU85U key
vbKeyV86V key
vbKeyW87W key
vbKeyX88X key
vbKeyY89Y key
vbKeyZ90Z key

The 0 key through 9 key are the same as their ASCII equivalents 0–9.

ConstantValueDescription
vbKey0480 key
vbKey1491 key
vbKey2502 key
vbKey3513 key
vbKey4524 key
vbKey5535 key
vbKey6546 key
vbKey7557 key
vbKey8568 key
vbKey9579 key

Numeric keypad keys

The following constants represent keys on the numeric keypad.

ConstantValueDescription
vbKeyNumpad00x600 key
vbKeyNumpad10x611 key
vbKeyNumpad20x622 key
vbKeyNumpad30x633 key
vbKeyNumpad40x644 key
vbKeyNumpad50x655 key
vbKeyNumpad60x666 key
vbKeyNumpad70x677 key
vbKeyNumpad80x688 key
vbKeyNumpad90x699 key
vbKeyMultiply0x6AMULTIPLICATION SIGN (*) key
vbKeyAdd0x6BPLUS SIGN (+) key
vbKeySeparator0x6CENTER key
vbKeySubtract0x6DMINUS SIGN () key
vbKeyDecimal0x6EDECIMAL POINT (.) key
vbKeyDivide0x6FDIVISION SIGN (/) key

Function keys

The following constants represent function keys.

ConstantValueDescription
vbKeyF10x70F1 key
vbKeyF20x71F2 key
vbKeyF30x72F3 key
vbKeyF40x73F4 key
vbKeyF50x74F5 key
vbKeyF60x75F6 key
vbKeyF70x76F7 key
vbKeyF80x77F8 key
vbKeyF90x78F9 key
vbKeyF100x79F10 key
vbKeyF110x7AF11 key
vbKeyF120x7BF12 key
vbKeyF130x7CF13 key
vbKeyF140x7DF14 key
vbKeyF150x7EF15 key
vbKeyF160x7FF16 key

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Виртуальные коды клавиш в Visual Basic 6.0 — константы клавиш

Практически во всех программах есть возможность использование клавиш, т.е. например Вы нажимаете в программе сочетание клавиш ctrl+F1, и программа выполняет какое-либо действие. Поэтому и мы попробуем использовать эти функции в своих программах.

Все, что мы сейчас будем обсуждать, относится к среде программирования Microsoft Visual Basic v6.0. В данной среде программирования имеется возможность ловить нажатие клавиш, и делается это следующим образом (рассмотрим пример):

Сначала объявляется функция GetAsyncKeyState, потом уже сама клавиша ADD (клавиша плюсик + справа на клавиатуре), потом идет код таймера, соответственно Вы должны добавить на форму таймер и выставить ему значение в окне свойств в поле Interval 1 или 100.

Затем в коде указанно, что если нажимается клавиша +, то выводится сообщение. Это самый простой пример использования клавиш в Visual Basic или как еще называют эту процедуру «ловить нажатие клавиш».

А если Вы хотите использовать сочетание клавиш, то после If GetAsyncKeyState(vbKeyAdd) вставьте And GetAsyncKeyState (vbKeyF9), что будет означать, что теперь необходимо нажимать сочетание клавиш + и F9, но конечно не забудьте объявить саму константу, т.е. вставить в модуле формы следующее: Private Const VK_F9 = &H78, что будет означать, что мы объявили эту клавишу.

Весь представленный выше код набирался в модуле формы и соответственно и функция и клавиша объявлялись с помощью ключевого слова Private т.к. процедуры, объявленные в модуле формы, являются закрытыми и перед их объявлением должно стоять данное слово. Но также можно использовать возможность объявление данных процедур в отдельном модуле, который является открытым и перед объявлением этих процедур необходимо указывать слово Public.

Ниже представлен перечень виртуальных кодов клавиш, которых можно использовать в Visual Basic, как в модуле формы, так и в отдельном модуле:

Const VK_ADD = &H6B ‘[NUMPAD(+)]
Const VK_ATTN = &HF6
Const VK_BACK = &H8
Const VK_CANCEL = &H3
Const VK_CAPITAL = &H14
Const VK_CLEAR = &HC
Const VK_CONTROL = &H11
Const VK_CRSEL = &HF7
Const VK_DECIMAL = &H6E
Const VK_DELETE = &H2E
Const VK_DIVIDE = &H6F ‘[NUMPAD(/)]
Const VK_DOWN = &H28
Const VK_END = &H23
Const VK_EREOF = &HF9
Const VK_ESCAPE = &H1B
Const VK_EXECUTE = &H2B
Const VK_EXSEL = &HF8
Const VK_F1 = &H70
Const VK_F10 = &H79
Const VK_F11 = &H7A
Const VK_F12 = &H7B
Const VK_F13 = &H7C
Const VK_F14 = &H7D
Const VK_F15 = &H7E
Const VK_F16 = &H7F
Const VK_F17 = &H80
Const VK_F18 = &H81
Const VK_F19 = &H82
Const VK_F2 = &H71
Const VK_F20 = &H83
Const VK_F21 = &H84
Const VK_F22 = &H85
Const VK_F23 = &H86
Const VK_F24 = &H87
Const VK_F3 = &H72
Const VK_F4 = &H73
Const VK_F5 = &H74
Const VK_F6 = &H75
Const VK_F7 = &H76
Const VK_F8 = &H77
Const VK_F9 = &H78
Const VK_HELP = &H2F
Const VK_HOME = &H24
Const VK_INSERT = &H2D
Const VK_LBUTTON = &H1
Const VK_LCONTROL = &HA2
Const VK_LEFT = &H25
Const VK_LMENU = &HA4
Const VK_LSHIFT = &HA0
Const VK_MBUTTON = &H4
Const VK_MENU = &H12
Const VK_MULTIPLY = &H6A
Const VK_NEXT = &H22
Const VK_NONAME = &HFC
Const VK_NUMLOCK = &H90
Const VK_NUMPAD0 = &H60
Const VK_NUMPAD1 = &H61
Const VK_NUMPAD2 = &H62
Const VK_NUMPAD3 = &H63
Const VK_NUMPAD4 = &H64
Const VK_NUMPAD5 = &H65
Const VK_NUMPAD6 = &H66
Const VK_NUMPAD7 = &H67
Const VK_NUMPAD8 = &H68
Const VK_NUMPAD9 = &H69
Const VK_OEM_CLEAR = &HFE
Const VK_PA1 = &HFD
Const VK_PLAY = &HFA
Const VK_PAUSE = &H13
Const VK_PRINT = &H2A
Const VK_PRIOR = &H21
Const VK_PROCESSKEY = &HE5
Const VK_RBUTTON = &H2
Const VK_RETURN = &HD
Const VK_RCONTROL = &HA3
Const VK_RIGHT = &H27
Const VK_RMENU = &HA5
Const VK_RSHIFT = &HA1
Const VK_SCROLL = &H91
Const VK_SELECT = &H29
Const VK_SEPARATOR = &H6C
Const VK_SHIFT = &H10
Const VK_SNAPSHOT = &H2C
Const VK_SPACE = &H20
Const VK_STARTKEY = &H5B ‘Start Menu(Наверное кнопка «ПУСК»)
Const VK_SUBTRACT = &H6D
Const VK_TAB = &H9
Const VK_UP = &H26
Const VK_ZOOM = &HFB
Const VK_0 = &H30
Const VK_1 = &H31
Const VK_2 = &H32
Const VK_3 = &H33
Const VK_4 = &H34
Const VK_5 = &H35
Const VK_6 = &H36
Const VK_7 = &H37
Const VK_8 = &H38
Const VK_9 = &H39
Const VK_A = &H41
Const VK_B = &H42
Const VK_C = &H43
Const VK_D = &H44
Const VK_E = &H45
Const VK_F = &H46
Const VK_G = &H47
Const VK_H = &H48
Const VK_I = &H49
Const VK_J = &H4A
Const VK_K = &H4B
Const VK_L = &H4C
Const VK_M = &H4D
Const VK_N = &H4E
Const VK_O = &H4E
Const VK_P = &H50
Const VK_Q = &H51
Const VK_R = &H52
Const VK_S = &H53
Const VK_T = &H54
Const VK_U = &H55
Const VK_V = &H56
Const VK_W = &H57
Const VK_X = &H58
Const VK_Y = &H59
Const VK_Z = &H5A

На этом у меня все, используйте клавиши в своих программах на Visual Basic. Удачи!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *