eXcellence-team eXcellence

Функция SendKeys

Иногда возникает необходимость сымитровать пользовательский ввод с клавиатуры. Тут на помощь придет фукция SendKeys. Вот её описание:

SendKeys строка, [режим ожидания]

Этот макрос прокрутит таблицу на страницу вниз.

Sub Test()
  SendKeys ("{PGDN}")
End Sub

Режим ожидания определяет то, как будет произведен возврат. В случае TRUE возврат в процедуру будет только после обработки нажатия клавиш. Если в программе выполняется какое-нибудь длительное действие, то задержка может быть значительной. В случае FALSE функция вернет управление сразу ничего не ожидая.

В фигурные скобках указываются команды и символы:

+^%~(){DEL}{INS}{BS} {BREAK}{CAPSLOCK}{ENTER}{DOWN}{PGUP}

и так далее. Это не все возможные коды, полный список можно посмотреть в MSDN.

Функция, приведенная ниже, переведет курсор на страницу ниже, введет 123 и нажмет ENTER:

Sub Test()
  SendKeys ("{PGDN}")
  SendKeys ("123{ENTER}")
End Sub

Вот так можно вызвать функциональную клавишу:

Sub Test()
  SendKeys ("{F1}")
End Sub

Когда экспериментируете, запускайте макрос из активной рабочей книги.