1.3.3. SendKeys - имитация нажатий на клавиши клавиатуры
Очень интересный метод - позволяет передавать в активное окно приложения нажатия клавиш. Полный вызов метода выглядит так:
SendKeys(Keys, Wait)
Параметр Keys позволяет задавать клавиши, нажатия которых будут переданы приложению. Метод поддерживает эмуляцию как алфавитно-цифровых, так и управляющих клавиш, для которых применяется специальная кодировка. Алфавитно-цифровые клавиши указываются при вызове в своем обычном виде Например, для передачи символа "Ф" нужно указать его при вызове метода и т.д.
Чтобы передать приложению нажатия клавиши Backspace - используйте код {BS}. Для передачи нажатия кнопки Enter используйте значок ~ (тильда), для клавиши Del - код {DEL}.
Для передачи приложению нажатий клавиш Shift, Ctrl или Alt, можно воспользоваться следующими кодами этих клавиш:
-
SHIFT - + (знак плюс)
-
CTRL - ^ (крышка)
-
ALT - % (знак процента)
Параметр Wait может принимать значения True или False. Если он будет установлен в True - макрос подождет, пока приложение обработает введенные с "клавитуры" данные, после чего продолжит выполнение. Если в False - макрос ждать не будет.
Рассмотрим пример. С помощью метода SendKeys введем в ячейку A1 текст "Сейчас закрою программу!", после чего попытаемся закрыть программу, "нажав" сначала Alt, потом Ф (для открытия главного меню Office), и потом - Ы - для выхода из программы. Подразумевается, что при запуске макроса указанная ячейка активна - в ней находится рамка выделения.
Application.SendKeys ("Сейчас закрою программу!")
Application.SendKeys ("%ФЫ")
После выполнения этого кода вы увидите окно со стандартным вопросом о сохранении документа.
Yandex.RTB R-A-252273-3- Excel и его обьекты. Объект Application
- 1.1. Особенности программирования для ms Excel
- 13.2. Объект Application
- 1.3. Методы Application
- 1.3.1. Calculate - принудительный пересчет
- 1.3.2. GoTo - переход в ячейку
- 1.3.3. SendKeys - имитация нажатий на клавиши клавиатуры
- 1.3.4. Wait - пауза при выполнении макроса
- 1.4. Свойства Application
- 1.4.1. ActiveCell, ActiveChart, ActivePrinter, ActiveSheet, ActiveWindow, ActiveWorkbook - активные объекты
- 1.4.2. Cells, Columns, Rows, Sheets, Workbooks, Worksheets, Names - наборы объектов и коллекции
- 1.4.3. Range - ячейка или группа ячеек
- 1.4.4. ScreenUpdating - обновление экрана
- 1.4.5. Selection - ссылка на выделенный объект
- 1.4.6. WorksheetFunction - формулы Excel в коде vba
- 1.5. События Application