VBA SendKeys

VBA SendKeys

Методът VBA SendKeys се използва за изпращане на натискания на клавиши до активното приложение:

1 Application.SendKeys ("s")

Горният код ще имитира натискането на клавиша „s“ на клавиатурата.

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

  • Ключове - Ключовете, които искате да изпратите до приложението като текст.
  • Изчакайте (По избор)- Тази стойност може да бъде True или False. Ако е вярно, Excel изчаква първо ключовете да бъдат обработени, преди да изпълни следващия ред код. Ако е невярно, Excel продължава да изпълнява процедурата, без да чака ключовете да бъдат обработени.

SendKeys обикновено се използва при взаимодействие с други приложения, защото това е бърз и лесен начин за изпълнение на задачи. Например, можете да използвате SendKeys при автоматизиране на Internet Explorer.

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

Примери за VBA SendKeys

Всеки ключ от гледна точка на букви е представен от неговия знак, например а е „а“.
Ако искате да използвате клавиши в комбинация с Ctrl, Shift или Alt, тогава трябва да предхождате кода на ключа със следното:

Ключ Код
Ctrl ^
Преместване +
Алт %

Следният код използва метода SendKeys за запазване на работната книга:

12345 Sub UsingSendKeys ()Application.SendKeys ("^s")End Sub

Както споменахме по -рано, трябва да бъдете изключително внимателни, когато използвате SendKeys. Следният код посочва време за изчакване 10 секунди преди въвеждането/изпращането на текста в Notepad. Като изчакате 10 секунди, вие давате възможност на Notepad да се отвори правилно, намалявайки вероятността от грешка.

Забележка: Този код използва метода Application.Wait.

1234567 Sub UsingSendKeysWithWait ()Call Shell ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Обадете се SendKeys („Това е някакъв текст“, Вярно)End Sub

Резултатът след 10 секунди изчакване е:

SendKeys може да бъде изключително бърз и лесен начин за изпълнение на задачи. Рискът от грешки обаче е сравнително висок. Използвайте SendKeys само когато този риск е приемлив!

wave wave wave wave wave