VBA Excel. Оператор SendKeys (имитация нажатия клавиш)

Имитация нажатия клавиш на клавиатуре в VBA Excel с помощью оператора SendKeys, в том числе эмуляция нажатия сочетаний клавиш. Синтаксис, коды, примеры.

Синтаксис оператора SendKeys

Параметры оператора SendKeys:

Параметр Описание
string Обязательный параметр. Строковое выражение, возвращающее код клавиши (сочетания клавиш).
wait Необязательный параметр. Логическое значение, определяющее режим ожидания.
False (по умолчанию) – контроль процедуре возвращается сразу после отправки кода клавиш.
True – перед возвратом контроля процедуре коды клавиш обрабатываются.

Имитация нажатия клавиш

Эмуляция нажатия алфавитно-цифровых клавиш из кода VBA Excel, не представляющих спецсимволы: параметру string задается значение символа в прямых кавычках, например, «А» , «Абвгд» , «356» .

Имитация нажатия клавиш, представляющих спецсимволы: параметру string задается значение символа в фигурных скобках, например, «<^>» , «<)>» .

Спецсимволы, которые следует заключать в фигурные скобки: плюс + , возведение в степень ^ , знак процента % , тильда

, круглые скобки () , квадратные скобки [] и сами фигурные скобки <> . Символы фигурных скобок указываются так: «<<>» и «<>>» .

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

Фигурные скобки используются и для имитации нескольких нажатий одной клавиши из кода VBA Excel. В этом случае параметр string записывается в виде <клавиша число>, где число – количество нажатий. Например: «<а 10>» .

Коды специальных клавиш

Клавиша Код
BACKSPACE или
BREAK
CAPS LOCK
DEL или DELETE или
СТРЕЛКА ВНИЗ
END
ENTER или

Эмуляция сочетаний клавиш

Чтобы указать сочетание клавиш с SHIFT, CTRL, ALT или их комбинацией, необходимо добавить перед кодом клавиши один или несколько следующих кодов:

Клавиша Код
SHIFT +
CTRL ^
ALT %

Чтобы указать, что клавиши SHIFT, CTRL и ALT в любом сочетании необходимо удерживать, нажимая несколько других клавиш, заключите код для последних клавиш в круглые скобки. Например, чтобы указать, что нужно удерживать клавишу SHIFT, нажимая клавиши а, б, в, г, д, введите «+(абвгд)» .

* Обнаружено в Windows 8.1 (Excel 2016).

Примеры с оператором SendKeys

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

Пример 1
Заполняем первые три ячейки столбца «A» различными значениями, имитируя нажатия клавиш из кода VBA Excel:

Источник



Имитация нажатий клавиш клавиатуры

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Имитация нажатия клавиш клавиатуры
Всем привет! Прошу помочь мне. Я искал в интернете но там как то сложно. Я думаю можно обойтись.

Эмуляция нажатий клавиш
У меня есть залогированы клавиши в блокноте в таком виде(много): Как мне заставить их из.

Считывание и обработка нажатий клавиш
Всем привет! Мне нужно написать маленькую программку, которая выполняла бы следующую операцию.

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

Записывайтесь на профессиональные IT-курсы здесь

нужная литература это сам Делфийский хелп. по словам VK_Key
или копай в сторону виртуальной клавиатуры.

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

З.Ы кстати, в самом хелпе ты найдёшь все кода клавиш.

Лучший ответСообщение было отмечено как решение

Решение

Virtual Key Code Corresponding key

VK_LBUTTON Left mouse button
VK_RBUTTON Right mouse button
VK_CANCEL Control+Break
VK_MBUTTON Middle mouse button
VK_BACK Backspace key
VK_TAB Tab key
VK_CLEAR Clear key
VK_RETURN Enter key
VK_SHIFT Shift key
VK_CONTROL Ctrl key
VK_MENU Alt key
VK_PAUSE Pause key
VK_CAPITAL Caps Lock key
VK_KANA Used with IME
VK_HANGUL Used with IME
VK_JUNJA Used with IME
VK_FINAL Used with IME
VK_HANJA Used with IME
VK_KANJI Used with IME
VK_CONVERT Used with IME

VK_NONCONVERT Used with IME
VK_ACCEPT Used with IME
VK_MODECHANGE Used with IME
VK_ESCAPE Esc key
VK_SPACE Space bar
VK_PRIOR Page Up key
VK_NEXT Page Down key
VK_END End key
VK_HOME Home key
VK_LEFT Left Arrow key
VK_UP Up Arrow key
VK_RIGHT Right Arrow key
VK_DOWN Down Arrow key
VK_SELECT Select key
VK_PRINT Print key (keyboard-specific)
VK_EXECUTE Execute key
VK_SNAPSHOT Print Screen key
VK_INSERT Insert key
VK_DELETE Delete key
VK_HELP Help key

VK_LWIN Left Windows key (Microsoft keyboard)
VK_RWIN Right Windows key (Microsoft keyboard)
VK_APPS Applications key (Microsoft keyboard)
VK_NUMPAD0 0 key (numeric keypad)
VK_NUMPAD1 1 key (numeric keypad)
VK_NUMPAD2 2 key (numeric keypad)
VK_NUMPAD3 3 key (numeric keypad)
VK_NUMPAD4 4 key (numeric keypad)
VK_NUMPAD5 5 key (numeric keypad)
VK_NUMPAD6 6 key (numeric keypad)
VK_NUMPAD7 7 key (numeric keypad)
VK_NUMPAD8 8 key (numeric keypad)
VK_NUMPAD9 9 key (numeric keypad)

VK_MULTIPLY Multiply key (numeric keypad)
VK_ADD Add key (numeric keypad)
VK_SEPARATOR Separator key (numeric keypad)
VK_SUBTRACT Subtract key (numeric keypad)
VK_DECIMAL Decimal key (numeric keypad)
VK_DIVIDE Divide key (numeric keypad)
VK_F1 F1 key
VK_F2 F2 key
VK_F3 F3 key
VK_F4 F4 key
VK_F5 F5 key
VK_F6 F6 key
VK_F7 F7 key
VK_F8 F8 key
VK_F9 F9 key
VK_F10 F10 key
VK_F11 F11 key
VK_F12 F12 key
VK_F13 F13 key
VK_F14 F14 key
VK_F15 F15 key

VK_F16 F16 key
VK_F17 F17 key
VK_F18 F18 key
VK_F19 F19 key
VK_F20 F20 key
VK_F21 F21 key
VK_F22 F22 key
VK_F23 F23 key
VK_F24 F24 key
VK_NUMLOCK Num Lock key
VK_SCROLL Scroll Lock key
VK_LSHIFT Left Shift key (only used with GetAsyncKeyState and GetKeyState)
VK_RSHIFT Right Shift key (only used with GetAsyncKeyState and GetKeyState)
VK_LCONTROL Left Ctrl key (only used with GetAsyncKeyState and GetKeyState)
VK_RCONTROL Right Ctrl key (only used with GetAsyncKeyState and GetKeyState)

VK_LMENU Left Alt key (only used with GetAsyncKeyState and GetKeyState)
VK_RMENU Right Alt key (only used with GetAsyncKeyState and GetKeyState)
VK_PROCESSKEY Process key
VK_ATTN Attn key
VK_CRSEL CrSel key
VK_EXSEL ExSel key
VK_EREOF Erase EOF key
VK_PLAY Play key
VK_ZOOM Zoom key
VK_NONAME Reserved for future use
VK_PA1 PA1 key
VK_OEM_CLEAR Clear key

Источник

Бесплатные программы имитации мыши и клавиатуры, их движение и клики

Всем привет, с Вами автор блога matrixblog.ru. Материал сегодняшней статьи затронет вопросы автоматизации действий на компьютере. Буду рассмотрены некоторые программы, но, основной упор будет сделан на суть самой темы.

Для начала, нужно понимать, что люди, которые интересуются программами для автоматизации различных действий на компьютере, имитации движений мыши и нажатия клавиш клавиатуры, не совсем понимают, чего хотят. Со стороны, всё кажется просто – мне нужна программа, которая будет воспроизводить мои действия с мышкою и клавиатурой, имитируя их. Хорошо, давайте попробуем разобрать суть ситуации…

Макросы – если вы ищите программы для автоматизации и имитации действия на компьютере, то, должны знать, что есть такое понятие как макрос. Лучше всего рассмотреть пример пакета Microsoft Office. Их программы (Word, Excel…) содержат встроенный редактор языка Visual Basic. Basic, Visual Basic, vbscript, неважно, главное, что это язык программирования, имеющий отношение к компании Майкрософт. Собственно, похожий, или аналогичный синтаксис языка может использоваться и в других языках программирования от дядюшки Билла. В отличие от отдельных пакетов, редактор Visual Basic в Майкрософт Оффис нацелен на выполнение программного кода в офисной среде, например, в Word или Excel. Подобные инструменты есть и в бесплатных аналогах Microsoft Office. Так, можно написать в редакторе программный код, сохранить его, там она называется макросом, и периодически запускать. Макрос, как правило, содержит программный код, позволяющий быстро выполнить рутинную работу, например:

  • Применить стиль к каждому второму абзацу.
  • Преобразовать все таблицы в текст и применить заданное форматирование.
  • Автоматически разделить содержимое и сохранить в отдельные документы.

Сами макросы в других программах, позволяют:

  • имитация нажатия кнопки мыши.
  • имитация нажатия клавиш клавиатуры.
  • имитация кликов мыши.
  • имитация клавиатуры.
  • имитация движения мыши.

Примеров различных макросов для Word и Excel большое количество. Однако, основной их плюс в том, что их можно создать без необходимости писать код, можно просто нажать кнопку PLAY и начнется запись ваших действий (выделение текста, применение стиля). Завершив запись (нажав STOP), автоматически появится новый макрос с программным кодом. Далее можно запустить сохраненный макрос, который будет работать на автоматизацию действий. Понятно, что косвенно, макросы тоже можно считать своеобразными программами для автоматизации пользовательских действий в редакторе Word или табличном процессоре Excel на компьютере. Формально, макросы в Оффис тоже создают имитацию мыши и клавиатуры, только в пределах редактора.

Нужно понимать, что такое понятие, как Макрос, использует и в других сферах программирования и языках.

Перехват событий – такие аспекты, как движение мышкой и клики кнопок, принято называть событиями. Событий может быть много, плюс, есть ещё различные объекты (окна, приложения, области окон и так далее). Большинство программ для автоматизации различных действий пользователя на компьютере, должны уметь перехватить события в виде движений мыши, кликов и нажатия клавиш клавиатуры, а потом создавать их имитацию. Некоторые программы автоматизации позволяют имитировать или программировать движения мыши, другие, позволяют перехватывать, или наоборот, имитировать нажатие клавиш на клавиатуре.

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

Понятно, что пользователей много, и задач тоже много. Кому-то надо автоматизировать процесс сортировки и переименования файлов или каталогов. Кто-то хочет сразу применить одно оформление к сотне Word документам. В последнем случае, для txt документов, можно использовать редактор Notepad++.

Хорошо, рассмотрим несколько простых программа по теме статьи.

Программа Macro Dollar для имитации клавиатуры, мыши, движений и кликов

имитация действий мыши и клавиатуры с программой Macro Dollar

Macro Dollar – это старое и простое программное обеспечение автоматизации и имитации действий мыши и клавиатуры. Учитывая тот факт, что программа позволяет полностью записать, а потом имитировать действия мыши и клавиатуры, то её можно называть полноценным макросом.

Запустив Macro Dollar, мы увидим небольшое окно, кнопки для начала записи, остановки, и воспроизведения. Тут же есть несколько пунктов для отметки галочками:

  • Topmost – окно программы всегда будет на переднем плане.
  • Loop – если отметить эту опцию, то процесс воспроизведения имитации мыши и клавиатуры будет происходить бесконечно.
  • Shake — функция «встряхивания», когда курсор мыши трясет во время воспроизведения записи.
  • Play or record iconized – происходит минимизация окна программы во время записи.

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

Macro Dollar является портативной программой.

WinMacro – ещё одна простая программа имитации движений мыши и кнопок клавиатуры

имитация движений мыши и кликов клавиатуры с программой WinMacro

WinMacro является столь же старой программой, как и Macro Dollar и до сих пор прекрасно работает. Только 3 шага требуются для записи; указать файл, в который будет производиться запись, нажать на кнопку записи и нажать горячую клавишу для Pause / Break, чтобы остановить запись. Всякий раз, когда вы хотите, воспроизвести запись, просто укажите путь к сохраненному .log файлу и нажмите кнопку воспроизведения. Воспроизведение может быть отменено с помощью горячих клавиш Ctrl + Esc. Кнопка Options позволяет задать количество повторов и скорость воспроизведения.

GhostMouse – призрачная имитация мыши и нажатий кнопок

автоматизация действий с GhostMouse

GhostMouse — это очень простая программа для имитации действий пользователя, которая имеет в главном окне всего 2 кнопки (Play & Record). Она больше подходит для быстрого и кратковременного использования, но, конечно, и для автоматизации повторяющихся задач.

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

Do It Again – создаём список макросов

окно программы Do It Again

Do It Again не сильно отличается от других 3-х инструментов, перечисленных выше, но одно преимущество у неё есть — список макро-записей, отображаемых в программе, что делает её удобным для пользователей, которым необходимо запускать различные задачи без ручной загрузки сценария в программу.

Программа Action(s) – полноценная автоматизация действий на компьютере

программа Action(s) для автоматизации действий на компьютере

Action(s) является визуальным клоном Automator, который, однако, в списке доступных взаимодействий предлагает несколько меньшее количество вариантов.

Automator — гениальное встроенное приложение для OS X, которое позволяет без знания какого-либо скриптового языка реализовать автоматизацию действий на компьютере. Приложение может пригодиться тем, кто часто работает с цифровыми фотографиями. В качестве подходящего примера можно указать необходимость автоматического действия — все фотографии из заданной папки скопировать в новый каталог, уменьшить их разрешение на 72 DPI и преобразовать их из цифровой модели CMYK в RGB. Кроме того, однако, можно автоматизировать работу с текстом, электронной почтой, PDF документами, установить запуск сценариев в заданное время, и, например, работать с базой данных SQL.

Свою версию предлагают как для Windows, так и, как не парадоксально, для OS X. Можно установить автоматизацию действий на вашем компьютере с электронной почтой, файлами и папками, изображениями, браузером и простым текстом.

Преимуществом является готовый набор макросов, которые наиболее часто используются пользователями — в основном для работы с фотографиями и аудиовизуальным содержимым. И если нужное действие (макрос) отсутствует в библиотеке, а вы хотите его создать, то, скорее всего, нужное решение можно будет найти на пользовательском форуме, посвящённом программе Action(s). Важно отметить, что сама программа для автоматизации ваших действий на персональном компьютере или ноутбуке написана на Java. Имеется поддержка имитации движений мыши и нажатий клавиш клавиатуры.

Заключение

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

Начиная статью, я забыл сказать, что автоматизация действий на компьютере пользователя доступна не только в редакторе Word, Excel, но и в графическом редакторе Photoshop. Да, там есть такая функция, которая является, в некотором роде, аналогом макроса. Так, можно записать действия, которые применяются при обработке рисунка, сохранить их в самом же PSD файле, и потом спокойно воспроизводить для других графических данных. Полагаю, подобными возможности есть и в Corel Draw и в других подобных программах.

Спасибо за внимание. Автор блога Владимир Баталий

Источник

Имитирует нажатие кнопок клавиатуры

Имитация нажатия клавиш на клавиатуре в VBA Excel с помощью оператора SendKeys, в том числе эмуляция нажатия сочетаний клавиш. Синтаксис, коды, примеры.

Синтаксис оператора SendKeys

Параметры оператора SendKeys:

Параметр Описание
string Обязательный параметр. Строковое выражение, возвращающее код клавиши (сочетания клавиш).
wait Необязательный параметр. Логическое значение, определяющее режим ожидания.
False (по умолчанию) – контроль процедуре возвращается сразу после отправки кода клавиш.
True – перед возвратом контроля процедуре коды клавиш обрабатываются.

Имитация нажатия клавиш

Эмуляция нажатия алфавитно-цифровых клавиш из кода VBA Excel, не представляющих спецсимволы: параметру string задается значение символа в прямых кавычках, например, «А» , «Абвгд» , «356» .

Имитация нажатия клавиш, представляющих спецсимволы: параметру string задается значение символа в фигурных скобках, например, «<^>» , «<)>» .

Спецсимволы, которые следует заключать в фигурные скобки: плюс + , возведение в степень ^ , знак процента % , тильда

, круглые скобки () , квадратные скобки [] и сами фигурные скобки <> . Символы фигурных скобок указываются так: «<<>» и «<>>» .

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

Фигурные скобки используются и для имитации нескольких нажатий одной клавиши из кода VBA Excel. В этом случае параметр string записывается в виде <клавиша число>, где число – количество нажатий. Например: «<а 10>» .

Коды специальных клавиш

Клавиша Код
BACKSPACE или
BREAK
CAPS LOCK
DEL или DELETE или
СТРЕЛКА ВНИЗ
END
ENTER или

Эмуляция сочетаний клавиш

Чтобы указать сочетание клавиш с SHIFT, CTRL, ALT или их комбинацией, необходимо добавить перед кодом клавиши один или несколько следующих кодов:

Клавиша Код
SHIFT +
CTRL ^
ALT %

Чтобы указать, что клавиши SHIFT, CTRL и ALT в любом сочетании необходимо удерживать, нажимая несколько других клавиш, заключите код для последних клавиш в круглые скобки. Например, чтобы указать, что нужно удерживать клавишу SHIFT, нажимая клавиши а, б, в, г, д, введите «+(абвгд)» .

* Обнаружено в Windows 8.1 (Excel 2016).

Примеры с оператором SendKeys

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

Пример 1
Заполняем первые три ячейки столбца «A» различными значениями, имитируя нажатия клавиш из кода VBA Excel:

Источник

Похожее:  При нажатии клавиатуры нажимаются другие кнопки