Поделиться через


Макрокоманда SendKeys

Область применения: Access 2013, Office 2013

Заметка о безопасности
Избегайте использования инструкции SendKeys или макроса AutoKeys с конфиденциальной информацией. Злоумышленники могут перехватывать нажимаемые клавиши, чтобы скомпрометировать безопасность компьютера и данных.

Действие SendKeys можно использовать для отправки нажатий клавиш непосредственно в Microsoft Access или в активное приложение windows.

Примечание.

Эта макрокоманда доступна только для доверенных баз данных.

Параметр

Аргументы действия SendKeys приведены ниже.

Аргумент макрокоманды

Описание

Нажатия клавиш

Нажатия клавиш, которые требуется обработать в Access или приложении. Введите нажатия клавиш в поле Нажатия клавиш в разделе Аргументы действия панели построителя макросов. Можно ввести до 255 символов. Это обязательный аргумент.

Wait

Указывает, следует ли приостановить макрос до обработки нажатий клавиш. Нажмите кнопку Да (для приостановки) или Нет (чтобы не приостановить). По умолчанию используется значение Нет.

Замечания

Access обрабатывает нажатия клавиш, получаемые с помощью действия SendKeys , точно так же, как если бы вы ввели их непосредственно в окне Доступа.

Чтобы указать нажатия клавиш, используйте тот же синтаксис, что и для инструкции SendKeys .

Примечание.

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

Это действие можно использовать для ввода сведений в диалоговом окне, особенно если вы не хотите прерывать макрос для реагирования на диалоговое окно вручную. Некоторые действия Access, такие как PrintOut и FindRecord, автоматически выбирают параметры в некоторых часто используемых диалоговых окнах. Вы можете использовать действие SendKeys , чтобы выбрать параметры в менее часто используемых диалоговых окнах.

Примечание.

  • Так как диалоговое окно приостанавливает макрос, необходимо поместить действие SendKeys перед действием, которое приведет к открытию диалогового окна, и задать для аргумента Wait значение Нет.
  • Время нажатия клавиш до Access или другого приложения может быть сложным. В результате рекомендуется использовать этот метод, а не действие SendKeys для заполнения параметров в диалоговом окне, если есть другой метод (например, действие НайтиЗапись).

Если вы хотите отправить более 255 символов в Access или в другое приложение под управлением Windows, можно использовать несколько действий SendKeys последовательно в макросе.

При использовании действия SendKeys для отправки нажатий клавиш активируются соответствующие события KeyDown, KeyUp и KeyPress . Отправка нажатий клавиш, отличных от ANSI (например, функционального ключа), не активирует событие KeyPress .

Это действие недоступно в модуле Visual Basic для приложений (VBA). Вместо этого используйте инструкцию SendKeys .