VBA SendKeys | Примеры использования метода SendKeys в Excel VBA

Клавиши отправки Excel VBA

SendKeys на языке VBA - это метод, используемый для отправки нажатий клавиш в активное окно, чтобы после этого мы могли работать вручную. Всякий раз, когда мы используем алфавиты в качестве клавиш, все алфавиты должны быть в нижнем регистре. Это сложный метод, и его рекомендуется использовать только в случае необходимости и когда у вас нет вариантов.

«SendKeys» - одна из сложных тем для понимания. Не многие из нас используют эту функцию в VBA, но всегда полезно иметь больше знаний по большему количеству тем. В этой статье мы покажем вам, как использовать функцию SendKeys. Возможно, вам будет сложно перечитать статью несколько раз, если у вас есть практический подход, чтобы учиться быстрее и лучше.

Синтаксис

Ниже приведен синтаксис метода vba SendKeys.

Ключи или строка: тип ключа, который нам нужно отправить активному приложению.

Подождите: в этом аргументе мы можем использовать две вещи, а именно ИСТИНА или ЛОЖЬ.

  • TRUE, если вы хотите, чтобы Excel ожидал обработки назначенных ключей , прежде чем вернуть управление макросу.
  • FALSE, если вы проигнорируете параметр Wait, это будет значение по умолчанию. Если вы выберете FALSE, Excel продолжит выполнение макроса, не дожидаясь обработки ключей в активном окне.

Общие клавиши, которые мы используем с клавиатурой, - это «Ctrl, Shift и ALT» . Итак, с методом SendKeys нам нужно использовать их со специальными символами, в приведенной ниже таблице показаны специальные символы для трех вышеуказанных общих ключей.

Другие клавиши имеют разные клавиши и символы, в таблице ниже показано подробное объяснение каждой клавиши.

По требованию мы можем использовать любой из указанных выше ключей. На некоторых практических примерах мы покажем вам способ использования SendKeys.

Примеры использования метода SendKeys в Excel VBA

Вы можете скачать этот шаблон VBA SendKeys для Excel здесь - VBA SendKeys Excel Template

Пример # 1

Например, посмотрите на значение ячейки ниже.

У нас есть значения в трех ячейках, и в первой ячейке у нас есть значение «Бангалор», и для этой ячейки есть комментарий как «Столица Карнатаки».

Теперь с помощью «SendKeys» пытаемся отредактировать этот комментарий.

Откройте лист Excel и перейдите в редактор Visual Basic, запустите подпроцедуру VBA.

Код:

 Sub Send_Keys_Example () End Sub 

Во-первых, нам нужно выбрать ячейку комментария, чтобы отредактировать комментарий. Поэтому используйте код ДИАПАЗОН («A1»). Выберите

Код:

 Sub Send_Keys_Example () Диапазон ("A1"). Выберите End Sub 

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

Для редактирования комментария воспользуемся сочетанием клавиш «Shift + F2» .

Если вы нажмете эту кнопку, он будет редактировать комментарий.

Теперь откройте метод «SendKeys».

В методе SendKeys символом для использования клавиши SHIFT является «+» (знак плюса), поэтому введите код входа «+».

Теперь знак плюса работает как клавиша SHIFT, следующая клавиша вместе с SHIFT, которую мы используем, - это клавиша F2. Всякий раз, когда мы используем функциональные клавиши, нам нужно заключать их в фигурные скобки, поэтому введите функциональную клавишу F2 в фигурные скобки.

Код:

 Sub Send_Keys_Example () Диапазон ("A1"). Выберите SendKeys "+ {F2}" End Sub 

Теперь выполните код и посмотрите, что у нас получится.

Когда мы пытаемся выполнить код, мы получили сообщение, как указано выше. Одна из ключевых вещей, о которой мы должны помнить, - это то, что мы не можем запустить макрос, который использует «SendKeys» из окна визуального базового редактора.

Нам нужно запустить код из списка «Макрос».

Сначала закройте окно редактора Visual Basic.

Перейдите на вкладку «Разработчик» и нажмите «Макрос».

Теперь откроется список всех макросов, выберите макрос, который нужно запустить. Имя нашего макроса «Send_Keys_Example», поэтому я нажму кнопку запуска.

Вы можете видеть, что опция Редактировать комментарий включена.

Как вы можете видеть выше, ему назначена комбинация клавиш SHIFT + F2 для открытия опции редактирования комментария.

Пример # 2

Например, если вы хотите открыть окно «Специальная вставка» с помощью метода SendKeys, мы тоже можем это сделать. Сначала нам нужно скопировать определенные ячейки, а затем использовать SendKeys.

Код:

 Sub Send_Keys_Example1 () Диапазон ("A1"). Копировать SendKeys "% es" End Sub 

Выберите макрос, который нужно запустить, и нажмите «Выполнить».

Когда вы запустите код, ниже откроется специальное диалоговое окно.

То, что нужно запомнить

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