Как сделать макрос своими руками

Содержание
  1. Как создавать макросы?
  2. Запись нескольких событий одновременно
  3. Изменение существующего макроса
  4. Воспроизведение макроса
  5. Отмена макроса во время воспроизведения
  6. Включение повторения макроса
  7. Включение и выключение повторяющегося макроса
  8. Как сделать макрос на клавиатуру, мышку [пошаговый пример]. Утилиты для создания макросов (последовательность нажатий нужных клавиш)
  9. Создание макроса: нажимам 1 клавишу — получаем последовательность из 10!
  10. Пошаговый пример: делаем макрос для игры
  11. Какие утилиты можно порекомендовать для начинающих
  12. BotMek
  13. TinyTask
  14. Macros Effects: Макроскин (ME)
  15. Как записать макрос в Excel? Пошаговая инструкция.
  16. Что такое макрос?
  17. Отображение вкладки «Разработчик» в ленте меню
  18. Запись макроса в Excel
  19. Что записывает макрос?
  20. Абсолютная и относительная запись макроса
  21. Что нельзя сделать с помощью макрорекодера?
  22. Расширение файлов Excel, которые содержат макросы

Как создавать макросы?

Макросы — это последовательности событий (например, нажатий клавиш, щелчков мышью и задержек), которые можно воспроизводить для выполнения повторяющихся задач. Их также можно использовать для воспроизведения последовательностей, занимающих много времени или трудных для выполнения. Вы можете назначить клавише или кнопке мыши макрос, записанный в приложении Microsoft Mouse and Keyboard Center. Вы также можете использовать функцию повторения макроса, чтобы непрерывно воспроизводить и повторять макрос, а затем остановить воспроизведение в любой момент.

Макросы Microsoft Mouse and Keyboard Center сохраняются в виде отдельных файлов с расширением MHM в стандартной вложенной папке «Документы\Оборудование Майкрософт\Макросы». Макросы, записанные на клавиатуре и мыши, являются взаимозаменяемыми. Вы можете запускать и редактировать их в любой программе.

Внимание: Не сохраняйте в макросах пароли и другие конфиденциальные сведения.

Используя мышь, которую требуется настроить, запустите программу Microsoft Mouse and Keyboard Center.

В списке для нужной кнопки выберите Макрос.

Нажмите Создать макрос.

Создается пустой макрос, который добавляется в список макросов.

В поле Имя введите имя нового макроса.

Нажмите поле Редактор и введите макрос.

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

Убедитесь, что новый макрос выбран в списке Доступные макросы.

Запись нескольких событий одновременно

Введите первое событие (например, нажмите клавишу SHIFT).

Щелкните выбранное событие правой кнопкой мыши и выберите пункт Разделить. Событие будет разделено на три события: нажатие и удержание клавиши, временную задержку и отпускание клавиши.

Щелкните другое событие (до или после задержки).

Введите второе событие (например, нажмите первую кнопку мыши).

Изменение существующего макроса

Используя мышь, которую требуется настроить, запустите программу Microsoft Mouse and Keyboard Center.

В списке для нужной кнопки выберите Макрос.

Выберите нужный макрос в списке Доступные макросы.

Нажмите поле Редактор и измените макрос или введите новые события.

Воспроизведение макроса

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

Отмена макроса во время воспроизведения

Снова нажмите кнопку, назначенную макросу, или запустите другой макрос

Включение повторения макроса

В редакторе макросов выберите макрос в списке Доступные макросы.

Нажмите значок Изменить макрос.

Включите параметр Повторять.

Примечания: Функция повторения макросов не поддерживает переключение между приложениями. Например, если открыть веб-браузер во время повторения макроса в игре, макрос перестанет повторяться. Аналогично, если включить в макрос команду переключения на другое приложение, то повторение макроса не сработает, и он будет выполнен только один раз.

Если нажать кнопку, назначенную для запуска повторяющегося макроса, а затем — кнопку, назначенную другому макросу, то повторяющийся макрос остановится.

При повторении макроса не добавляется временная задержка в конце последовательности. Чтобы добавить задержку, используйте поле «Редактор».

Включение и выключение повторяющегося макроса

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

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

Источник

Как сделать макрос на клавиатуру, мышку [пошаговый пример]. Утилиты для создания макросов (последовательность нажатий нужных клавиш)

Всем здравия!

Иногда при работе на компьютере необходимо нажимать последовательно несколько клавиш (причем, чем быстрее и «четче» это делаешь — тем лучше!). Например, это часто требуется в играх, при каких-то рутинных офисных задачах и пр.

Однако, всё можно упростить! Представьте, вы нажмёте только одну клавишу — а спец. программа за вас нажмет последовательность из 5÷10 клавиш, которую вы ей заранее укажите (причем, она может это сделать как очень быстро, так и с определенной паузой). Кстати, называют подобные «трюки» — макросами.

А если вы сделаете 3-4 таких макросов?! (на все возможные случаи). Да вы сможете нажимать так быстро любые комбинации клавиш, что ни один человек без «таких же фокусов» не сможет вас обогнать (обыграть!). Нажал одну клавишу в каком-нибудь «Mortal Kombat» — и боец делает всю связку без промедления! 😉

Собственно, в текущей заметке приведу простейший пример макроса: от А до Я. Думаю, что, начав с малого и поэкспериментировав — многие пользователи смогут добиться весьма неплохих результатов. 👌

Не обгонишь, я быстрее нажму!

Создание макроса: нажимам 1 клавишу — получаем последовательность из 10!

Пошаговый пример: делаем макрос для игры

👉 ШАГ 1

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

После установки и запуска BotMek — необходимо перейти в раздел «Макрос» . 👇

ШАГ 1 — открываем раздел «макрос»

👉 ШАГ 2

Далее нажать кнопку «Создать макрос» и дать ему имя (лучше использовать название игры или приложения, для которого макрос создается, чтобы вы по имени могли легко сориентировать к чему и зачем это. ).

Читайте также:  Домик заюшкина избушка своими руками

ШАГ 2 — название макроса

👉 ШАГ 3

Теперь для созданного макроса нам нужно записать комбинацию нажатий мыши и клавиатуры: именно ее потом программа и будет воспроизводить (эмулировать нажатия за нас!).

Для этого нужно нажать по кнопке «Запись» , и указать: нужно ли запоминать нажатия мыши и клавиатуры (в своем примере я выбрал вариант «Записывать нажатия клавиш с клавиатуры» ).

ШАГ 3 — начать запись

После нажмите на клавиатуре последовательно всё клавиши, которые программа должна запомнить и записать! Учтите, что она запоминает даже паузы между нажатиями клавиш!

По сути, мы делаем образец, и он должен быть идеальным. 😉 В конце операции нажмите по клавише «Стоп» и затем «OK» (этим мы сохраним макрос и выйдем в меню).

нажимаем последовательность клавиш

👉 ШАГ 4

Теперь нам нужно этот макрос (последовательность клавиш) установить на какую-нибудь реальную клавишу — т.е. когда мы нажмем на неё — он и сработает.

Для этого нужно открыть раздел «Клавиши» , нажать мышкой по одной из клавиш на виртуальной клавиатуре и выбрать для нее макрос (в моем случае для клавиши «Z» — «Присвоить макрос -> Макрос1: wow» 👇).

ШАГ 4 — присваиваем макросу клавишу

Далее нужно нажать кнопку «Запустить» , чтобы программа начала отслеживать все нажатия на указанную нами клавишу «Z».

👉 ШАГ 5

Осталось только войти в нужную нам игру/приложение (для которого мы создали макрос), и нажать кнопку активации макроса — в моем случае «Z».

Ву-а-ля, персонаж в игре начинает автоматически атаковать цель с применением всего боевого комбо! Задача решена?! 👌

ШАГ 5 — испытания! // Скриншот из игры World of Warcraft

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

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

Какие утилиты можно порекомендовать для начинающих

Разумеется, программ и утилит подобного рода достаточно много. В этой заметке у меня нет цели представить их все (с описанием плюсов и минусов) — самое главное дать несколько наводок для начинающих.

Т.е. те приложения, с которыми под силу разобраться «средней» руки пользователю, который накануне «открыл» для себя тему макросов. 👌

BotMek

BotMek: главное окно программы

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

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

  1. совместимость с любыми моделями мышек и клавиатур;
  2. рассчитана на новичка (спец. знаний не требуется);
  3. есть коллекция готовых макросов для популярных игр;
  4. позволяет пользоваться одновременно сразу неск. макросами;
  5. совместима с Windows 7/8/10 (работает «тихо» и не отвлекает различными окнами и напоминаниями. ).

TinyTask

TinyTask — совсем небольшая утилита (несколько килобайт веса), позволяющая записывать и воспроизводить активность реальной клавиатуры/мыши (т.е. являться на время их программным эмулятором).

Отлично подходит для решения и автоматизации рутинных задач.

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

Недостаток : есть неудобства при работе сразу с несколькими макросами (переключение не удобно).

Macros Effects: Макроскин (ME)

Macros Effects — скриншот главного окна

«Узко-спец.» приложение для постановки макросов на практически любые виды мышек. Совместима с макросами, написанными в Oscar Editor в формате AMC.

  1. высокая точность при настройке осей и координат перемещения курсора (хорошее перемещение прицела в играх-шутерах 😉);
  2. вкл./откл. функции повторов;
  3. работает в свернутом режиме;
  4. низкие системные требования к железу;
  5. возможность переносить макросы и одной копии ПО в другую просто скопировав код (в текстовом варианте);
  6. наличие раздела «Help» со справкой и пояснениями, как работать с программой.

Минус : отсутствует возможность записывать и загружать команды для клавиатуры!

Ну а у меня на сим пока всё, успехов!

Источник

Как записать макрос в Excel? Пошаговая инструкция.

Что такое макрос?

Для начала немного о терминологии.

Макрос — это код, написанный на встроенном в Excel языке VBA (Visual Basic for Application). Макросы могут создаваться как вручную, так и записываться автоматически с помощью так называемого макрорекодера.

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

Записанный макрос можно будет запускать неограниченное количество раз и Excel повторит все записанные шаги. Это означает, что даже если вы ничего не знаете о VBA, вы можете автоматизировать некоторые задачи, просто записав свои шаги и затем повторно использовать их позже.

Теперь давайте погрузимся и посмотрим, как записать макрос в Excel.

Отображение вкладки «Разработчик» в ленте меню

Перед тем как записывать макрос, нужно добавить на ленту меню Excel вкладку «Разработчик». Для этого выполните следующие шаги:

  1. Щелкните правой кнопкой мыши по любой из существующих вкладок на ленте и нажмите «Настроить ленту». Он откроет диалоговое окно «Параметры Excel».
  2. В диалоговом окне «Параметры Excel» у вас будут параметры «Настроить ленту». Справа на панели «Основные вкладки» установите флажок «Разработчик».
  3. Нажмите «ОК».
Читайте также:  Возводим гараж своими руками

В результате на ленте меню появится вкладка «Разработчик»

Запись макроса в Excel

Теперь давайте запишем очень простой макрос, который выбирает ячейку и вводит в нее текст, например «Excel».

Вот шаги для записи такого макроса:

  1. Перейдите на вкладку «Разработчик».
  2. В группе «Код» нажмите кнопку «Запись макроса». Откроется одноименное диалоговое окно.
  3. В диалоговом окне «Запись макроса» введите имя для своего макроса, например «ВводТекста». Есть несколько условий именования, которые необходимо соблюдать при назначении макроса. Например, вы не можете использовать пробелы между ними. Обычно я предпочитаю сохранять имена макросов как одно слово, с разными частями с заглавным первым алфавитом. Вы также можете использовать подчеркивание для разделения двух слов — например, «Ввод_текста».
  4. Если вы хотите, то можете задать сочетание клавиш. В этом случае мы будем использовать ярлык Ctrl + Shift + N. Помните, что сочетание, которое вы указываете, будет отменять любые существующие горячие клавиши в вашей книге. Например, если вы назначили сочетание Ctrl + S, вы не сможете использовать это для сохранения рабочей книги (вместо этого, каждый раз, когда вы его используете, он выполняет макрос).
  5. В поле «Сохранить в» убедитесь, что выбрана опция «Эта книга». Этот шаг гарантирует, что макрос является частью рабочей книги. Он будет там, когда вы сохраните его и снова откроете, или даже если вы поделитесь файлом с кем-то.
  6. Введите описание при необходимости. Обычно я этого не делаю, но если у вас много макросов, лучше указать, чтобы в будущем не забыть что делает макрос.
  7. Нажмите «ОК». Как только вы нажмете OK, Excel начнет записывать ваши действия. Вы можете увидеть кнопку «Остановить запись» на вкладке «Разработчик», которая указывает, что выполняется запить макроса.
  8. Выберите ячейку A2.
  9. Введите текст «Excel» (или вы можете использовать свое имя).
  10. Нажмите клавишу Enter. Вы попадете на ячейку A3.
  11. Нажмите кнопку «Остановить запись» на вкладке «Разработчик».

Поздравляем! Вы только что записали свой первый макрос в Excel. Хотя макрос не делает ничего полезного, но он поможет нам понять как работает макрорекордер в Excel.

Теперь давайте рассмотрим код который записал макрорекодер. Выполните следующие действия, чтобы открыть редактор кода:

  1. Удалите текст в ячейке A2. Это нужно, чтобы проверить будет ли макрос вставлять текст в ячейку A2 или нет.
  2. Выберите любую ячейку — кроме A2. Это нужно проверить, выбирает ли макрос ячейку A2 или нет.
  3. Перейдите на вкладку «Разработчик».
  4. В группе «Код» нажмите кнопку «Макросы».
  5. В диалоговом окне «Макрос» щелкните макрос «ВводТекста».
  6. Нажмите кнопку «Выполнить».

Вы увидите, что как только вы нажмете кнопку «Выполнить», текст «Excel» будет вставлен в ячейку A2 и выбрана ячейка A3. Это происходит за миллисекунды. Но на самом деле макрос последовательно выполнил записанные действия.

Примечание. Вы также можете запустить макрос с помощью сочетания клавиш Ctrl + Shift + N (удерживайте клавиши Ctrl и Shift, а затем нажмите клавишу N). Это тот же самый ярлык, который мы назначили макросу при его записи.

Что записывает макрос?

Теперь перейдем к редактору кода и посмотрим что у нас получилось.

Вот шаги по открытию редактора VB в Excel:

  1. Перейдите на вкладку «Разработчик».
  2. В группе «Код» нажмите кнопку «Visual Basic».

Вы также можете использовать комбинацию клавиш Alt + F11 и перейти в редактор кода VBA.

Рассмотрим сам редактор кода. Далее коротко опишем интерфейс редактора.

  • Панель меню: содержит команды, которые можно использовать во время работы с редактором VB.
  • Панель инструментов — похожа на панель быстрого доступа в Excel. Вы можете добавить к ней дополнительные инструменты, которыми часто пользуетесь.
  • Окно проектов (Project Explorer) — здесь Excel перечисляет все книги и все объекты в каждой книге. Например, если у нас есть книга с 3 рабочими листами, она появится в Project Explorer. Здесь есть несколько дополнительных объектов, таких как модули, пользовательские формы и модули классов.
  • Окно кода — собственно сам код VBA размещается в этом окне. Для каждого объекта, указанного в проводнике проекта, есть окно кода, например, рабочие листы, книги, модули и т. д. В этом уроке мы увидим, что записанный макрос находится в окне кода модуля.
  • Окно свойств — вы можете увидеть свойства каждого объекта в этом окне. Я часто использую это окно для обозначения объектов или изменения их свойств.
  • Immediate Window (окно предпросмотра) — На начальном этапе оно вам не пригодится. Оно полезно, когда вы хотите протестировать шаги или во время отладки. Он по умолчанию не отображается, и вы можете его отобразить, щелкнув вкладку «View» и выбрав опцию «Immediate Window».

Когда мы записали макрос «ВводТекста», в редакторе VB произошли следующие вещи:

  • Был добавлен новый модуль.
  • Макрос был записан с именем, которое мы указали — «ВводТекста»
  • В окне кода добавлена новая процедура.

Поэтому, если вы дважды щелкните по модулю (в нашем случае модуль 1), появится окно кода, как показано ниже.

Вот код, который записан макрорекодером:

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

Теперь давайте пробежим по каждой строке кода и опишем что и зачем.

Код начинается с Sub, за которым следует имя макроса и пустые круглые скобки. Sub — сокращение для подпрограммы. Каждая подпрограмма (также называемая процедурой) в VBA начинается с Sub и заканчивается End Sub.

  • Range(«A2»).Select — эта строка выбирает ячейку A2.
  • ActiveCell.FormulaR1C1 = «Excel» — эта строка вводит текст «Excel» в активной ячейке. Поскольку мы выбрали ячейку A2 в качестве первого шага, она становится нашей активной ячейкой.
  • Range(«A3»).Select — выбор ячейки A3. Это происходит, когда мы нажимаем клавишу Enter после ввода текста, результатом которого является выбор ячейки A3.
Читайте также:  Воздушная мышь своими руками

Надеюсь, что у вас есть некоторое базовое понимание того, как записывать макрос в Excel.

Обращаем внимание, что код, записанный через макрорекордер, как правило, не является эффективным и оптимизированным кодом. Макрорекордер часто добавляет дополнительные ненужные действия. Но это не значит, что не нужно пользоваться макрорекодером. Для тех, кто только изучает VBA , макрорекордер может быть отличным способом проанализировать и понять как все работает в VBA.

Абсолютная и относительная запись макроса

Вы уже знаете про абсолютные и относительные ссылки в Excel? Если вы используете абсолютную ссылку для записи макроса, код VBA всегда будет ссылаться на те же ячейки, которые вы использовали. Например, если вы выберете ячейку A2 и введете текст «Excel», то каждый раз — независимо от того, где вы находитесь на листе и независимо от того, какая ячейка выбрана, ваш код будет вводить текст «Excel» в ячейку A2.

Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет «двигаться» относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст «Excel» и затем перейдет к ячейке K5.

Теперь давайте запишем макрос в режиме относительных ссылок:

  1. Выберите ячейку A1.
  2. Перейдите на вкладку «Разработчик».
  3. В группе «Код» нажмите кнопку «Относительные ссылки». Он будет подсвечиваться, указывая, что он включен.
  4. Нажмите кнопку «Запись макроса».
  5. В диалоговом окне «Запись макроса» введите имя для своего макроса. Например, имя «ОтносительныеСсылки».
  6. В опции «Сохранить в» выберите «Эта книга».
  7. Нажмите «ОК».
  8. Выберите ячейку A2.
  9. Введите текст «Excel» (или другой как вам нравится).
  10. Нажмите клавишу Enter. Курсор переместиться в ячейку A3.
  11. Нажмите кнопку «Остановить запись» на вкладке «Разработчик».

Макрос в режиме относительных ссылок будет сохранен.

Теперь сделайте следующее.

  1. Выберите любую ячейку (кроме A1).
  2. Перейдите на вкладку «Разработчик».
  3. В группе «Код» нажмите кнопку «Макросы».
  4. В диалоговом окне «Макрос» кликните на сохраненный макрос «ОтносительныеСсылки».
  5. Нажмите кнопку «Выполнить».

Как вы заметите, макрос записал текст «Excel» не в ячейки A2. Это произошло, потому что вы записали макрос в режиме относительной ссылки. Таким образом, курсор перемещается относительно активной ячейки. Например, если вы сделаете это, когда выбрана ячейка B3, она войдет в текст Excel — ячейка B4 и в конечном итоге выберет ячейку B5.

Вот код, который записал макрорекодер:

Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.

Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.

Что нельзя сделать с помощью макрорекодера?

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

  • Вы не можете выполнить код без выбора объекта. Например, если вы хотите, чтобы макрос перешел на следующий рабочий лист и выделил все заполненные ячейки в столбце A, не выходя из текущей рабочей таблицы, макрорекодер не сможет этого сделать. В таких случаях вам нужно вручную редактировать код.
  • Вы не можете создать пользовательскую функцию с помощью макрорекордера. С помощью VBA вы можете создавать пользовательские функции, которые можно использовать на рабочем листе в качестве обычных функций.
  • Вы не можете создавать циклы с помощью макрорекордера. Но можете записать одно действие, а цикл добавить вручную в редакторе кода.
  • Вы не можете анализировать условия: вы можете проверить условия в коде с помощью макрорекордера. Если вы пишете код VBA вручную, вы можете использовать операторы IF Then Else для анализа условия и запуска кода, если true (или другой код, если false).

Расширение файлов Excel, которые содержат макросы

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

До Excel 2007 был достаточен один формат файла — .xls. Но с 2007 года .xlsx был представлен как стандартное расширение файла. Файлы, сохраненные как .xlsx, не могут содержать в себе макрос. Поэтому, если у вас есть файл с расширением .xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет вам следующее диалоговое окно:

Если вы выберете «Нет», Excel сохранить файл в формате с поддержкой макросов. Но если вы нажмете «Да», Excel автоматически удалит весь код из вашей книги и сохранит файл как книгу в формате .xlsx. Поэтому, если в вашей книге есть макрос, вам нужно сохранить его в формате .xlsm, чтобы сохранить этот макрос.

Источник

Оцените статью