Ключі VBA SendKeys

Ключі VBA SendKeys

Метод VBA SendKeys використовується для надсилання натискань клавіш до активної програми:

1 Application.SendKeys ("s")

Наведений вище код буде імітувати натискання клавіші “s” на клавіатурі.

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

  • Ключі - ключі, які потрібно надіслати програмі у вигляді тексту.
  • Зачекайте (Необов’язково)- Це значення може бути істинним або хибним. Якщо значення "Істина", то Excel чекає, поки ключі будуть оброблені, перш ніж виконати наступний рядок коду. Якщо значення False, то Excel продовжує виконувати процедуру, не чекаючи обробки ключів.

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

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

Приклади SendKeys VBA

Кожна клавіша з точки зору букв представлена ​​їх символом, наприклад, а є "а".
Якщо ви хочете використовувати клавіші в поєднанні з Ctrl, Shift або Alt, то перед кодом клавіші потрібно вказати наступне:

Ключ Код
Ctrl ^
Зсув +
Альт %

Наступний код використовує метод SendKeys для збереження книги:

12345 Додаткові за допомогою SendKeys ()Application.SendKeys ("^s")End Sub

Як ми вже згадували раніше, ви повинні бути гранично обережними при використанні SendKeys. Наступний код вказує час очікування 10 секунд до введення/надсилання тексту в Блокнот. Зачекавши 10 секунд, ви даєте Блокноту можливість відкритися належним чином, зменшуючи ймовірність помилки.

Примітка: Цей код використовує метод Application.Wait.

1234567 Додаткове використанняSendKeysWithWait ()Виклик оболонки ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Зараз () + TimeValue ("00:00:10"))Виклик SendKeys ("Це деякий текст", правда)End Sub

Результат після 10 секунд очікування такий:

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

wave wave wave wave wave