VBA SendKeys

VBA SendKeys

Метод VBA SendKeys используется для отправки нажатий клавиш активному приложению:

1 Application.SendKeys ("s")

Приведенный выше код имитирует нажатие клавиши «s» на клавиатуре.

Метод SendKeys принимает два аргумента:

  • Ключи - ключи, которые вы хотите отправить в приложение в виде текста.
  • Ждать (По желанию)- Это значение может быть True или False. Если True, то Excel сначала ожидает обработки ключей, прежде чем запускать следующую строку кода. Если False, Excel продолжит выполнение процедуры, не дожидаясь обработки ключей.

SendKeys обычно используется при взаимодействии с другими приложениями, потому что это быстрый и простой способ выполнять задачи. Например, вы можете использовать SendKeys при автоматизации Internet Explorer.

Однако следует быть предельно осторожным при использовании метода SendKeys, поскольку он может привести к неожиданным результатам. Мы рекомендуем использовать SendKeys только в крайнем случае и / или когда ошибки допустимы (или легко обнаруживаются).

Примеры SendKeys VBA

Каждая клавиша в виде букв представлена ​​своим символом, например a - это «a».
Если вы хотите использовать клавиши в сочетании с Ctrl, Shift или Alt, вам необходимо поставить перед кодом клавиши следующее:

Ключ Код
Ctrl ^
Сдвиг +
Alt %

Следующий код использует метод SendKeys для сохранения книги:

12345 Sub UsingSendKeys ()Application.SendKeys ("s")Конец подписки

Как мы упоминали ранее, при использовании SendKeys необходимо соблюдать особую осторожность. Следующий код определяет время ожидания 10 секунд перед вводом / отправкой текста в Блокнот. Подождав 10 секунд, вы дадите возможность Блокноте открыться должным образом, уменьшив вероятность ошибки.

Примечание. В этом коде используется метод Application.Wait.

1234567 Sub UsingSendKeysWithWait ()Вызов оболочки ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Вызов SendKeys ("Это какой-то текст", True)Конец подписки

Результат после 10 секунд ожидания:

SendKeys может быть чрезвычайно быстрым и простым способом выполнения задач. Однако риски ошибки относительно высоки. Используйте SendKeys только тогда, когда этот риск приемлем!

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave