Як записувати й автоматизувати дії миші та клавіатури
Запис макросу — це механізм, який зберігає виконані вами дії миші та клавіатури як «послідовність кроків» разом із часовими інтервалами. Відтворивши записаний макрос, можна скільки завгодно разів повторювати ті самі дії — значно швидше й точніше за людину. Знання програмування не потрібні: достатньо один раз вручну виконати звичну роботу, тож це один із найпростіших способів почати автоматизацію. У цій статті ми послідовно розглянемо весь процес: від запису й відтворення до точного налаштування.
Крок 1. Підготуйтеся до запису
Невелика підготовка перед початком запису значно підвищує ймовірність успіху. Спочатку заздалегідь відкрийте програми й вікна, пов’язані із завданням, яке потрібно автоматизувати, та розташуйте їх звичним чином. Потім, якщо можливо, розгорніть вікна на весь екран. Багато макросів працюють на основі екранних координат, тому відмінності в положенні чи розмірі вікна під час запису та відтворення можуть спричинити натискання не в тому місці. Розгортання вікон дає змогу звести таке «зміщення» до мінімуму.
Крім того, корисно заздалегідь подумки відрепетирувати послідовність записуваних дій — так усе відбуватиметься плавніше. Якщо наперед визначити, «які кнопки та в якому порядку натискати», під час запису ви не вагатиметеся й не додасте зайвих дій. Навіть якщо в процесі станеться помилка, непотрібні кроки можна буде видалити пізніше, тож надмірно хвилюватися не варто.
Крок 2. Виконайте запис
Коли все готово, натисніть гарячу клавішу запису (F9 у makuroku). Далі просто виконуйте роботу як зазвичай: відкрийте файл, виберіть діапазон, скопіюйте, перейдіть до іншого вікна, вставте та збережіть. Кожне натискання миші й клавіші буде послідовно записано. Завершивши роботу, ще раз натисніть ту саму гарячу клавішу, щоб зупинити запис. Тепер уся виконана послідовність дій збережена як макрос, який можна використовувати повторно.
Невелика порада: під час запису дійте в рівному темпі, щоб між натисканнями не виникало неприродних «пауз». Однак якщо потрібно дочекатися завантаження програми або зміни екрана, цей час очікування також буде записано без змін. Насправді саме такі «паузи» часто роблять відтворення стабільнішим, тому поспішати не потрібно.
Крок 3. Налаштуйте швидкість і цикли, а потім відтворіть макрос
Щоб відтворити макрос, достатньо натиснути гарячу клавішу відтворення (F5 у makuroku). Однак справжня перевага макросу полягає в тому, що перед запуском можна налаштувати «швидкість» і «кількість повторень (циклів)». За подвійної швидкості завдання буде виконано вдвічі швидше, ніж під час запису. Якщо ж програма реагує повільно, швидкість можна зменшити, щоб окремі дії не було пропущено.
Налаштування кількості повторень особливо ефективне для великих обсягів однотипної роботи. Наприклад, якщо запустити макрос «обробити один документ» у циклі 100 разів, 100 документів буде оброблено за кілька хвилин. Роботу, яка вручну займала годину, тепер достатньо записати лише один раз, а потім просто дочекатися завершення відтворення. Саме ідея «записати один раз і відтворювати скільки завгодно» є основою економії часу завдяки автоматизації.
Причини зміщення записаних дій і способи усунення
Почавши користуватися макросами, багато хто насамперед стикається з проблемою: «під час відтворення зміщується місце клацання». Зазвичай це відбувається тому, що стан екрана під час записування відрізняється від стану під час відтворення. Наприклад, могла змінитися роздільна здатність або масштаб відображення, положення чи розмір вікна, або ж відтворення виконується на іншому моніторі.
Є кілька способів розв’язання цієї проблеми. Найпростіший — розгортати вікно на весь екран як під час записування, так і під час відтворення та використовувати однакові налаштування екрана. Якщо це не допомагає, повторіть запис у «режимі відносних координат», де точкою відліку є вікно. Тоді зберігаються не координати всього екрана, а відносне положення всередині вікна, тому відмінності в роздільній здатності менше впливають на роботу. Ще надійнішим є описане далі «розпізнавання зображень», за якого місце клацання визначається за зовнішнім виглядом елемента, а не за його позицією.
Підвищення якості за допомогою подальшого редагування кроків
Навіть якщо під час записування ви один раз випадково натиснули не ту кнопку, починати спочатку не потрібно. У makuroku записаний макрос можна згодом редагувати за окремими кроками. Можна видалити зайве клацання, змінити порядок дій, додати час очікування або точно скоригувати координати лише певного кроку — і все це без повторного записування.
Можливість такого подальшого редагування виводить автоматизацію на новий рівень. Наприклад, якщо вручну додати крок «трохи зачекати, доки з’явиться діалогове вікно збереження», відтворення стане стабільнішим. Крім того, записаний макрос можна перетворити на «редагований скрипт» і доповнити складнішою логікою, наприклад умовними розгалуженнями та циклами. Спочатку створіть каркас за допомогою записування, а потім доповніть його редагуванням або скриптом — такий двоетапний підхід є найкоротшим шляхом до автоматизації, придатної для реальної роботи.
Стабільність відтворення залежить від налаштування часу очікування
Одна з найпоширеніших складнощів під час роботи із записаними макросами — налаштування «часу очікування». Людина несвідомо чекає на відгук застосунку або зміну екрана й лише потім виконує наступну дію. Однак записаний макрос точно відтворює часові інтервали записування. Тому, якщо середовище відтворення реагує хоча б трохи повільніше, макрос може спробувати натиснути «кнопку, яка ще не з’явилася», і завершитися помилкою.
Є два способи розв’язання. Перший — вручну додати фіксований час очікування, тобто крок WAIT. Наприклад, указівка «після клацання зачекати 0,5 секунди» дає змогу компенсувати невеликі затримки. Другий і надійніший спосіб — очікувати, орієнтуючись на стан екрана. Умовне очікування на кшталт «дочекатися появи піктограми завершення завантаження» дає змогу перейти до наступного кроку в потрібний момент навіть за повільної роботи мережі чи застосунку — не надто рано й не надто пізно. Без перебільшення можна сказати, що стабільність автоматизації залежить від того, наскільки добре спроєктовано ці очікування.
Контрольний список на випадок проблем із записуванням
Якщо відтворення відбувається не так, як очікувалося, коло можливих причин напрочуд вузьке. Послідовна перевірка наведених нижче пунктів дає змогу розв’язати більшість проблем.
- • Чи однакові положення та розмір вікна під час запису й відтворення?
- • Чи не змінилися роздільна здатність екрана або масштаб відображення?
- • Чи достатньо часу очікування перед клацанням, щоб цільовий елемент встиг з’явитися?
- • Чи не блокує захисне програмне забезпечення запис або надсилання введення?
- • Чи не надто висока швидкість відтворення, через що застосунок не встигає реагувати?
Якщо після цих перевірок проблему не вирішено, доцільно замінити частини, що залежать від координат, розпізнаванням зображень. Якщо клацати, орієнтуючись не на «видиме положення», а на «зовнішній вигляд» елемента, автоматизація буде стійкішою до переміщення вікна та відмінностей у роздільній здатності. Спочатку звузьте коло причин за допомогою базового контрольного списку, а потім підсильте розпізнаванням зображень лише ті місця, які й надалі працюють нестабільно. Така послідовність дає змогу ефективно побудувати надійну автоматизацію.
Завдання, для яких підходять і не підходять записувані макроси
Записувані макроси не є універсальним рішенням. Розуміння того, з якими завданнями вони справляються добре, а з якими гірше, допомагає скоротити зайві спроби й помилки. Найкраще вони підходять для «завдань, які щоразу виконуються в абсолютно однаковій послідовності». Відкрити той самий екран, клацнути в тому самому місці та ввести той самий текст — такі рутинні операції можна надійно автоматизувати лише за допомогою запису. Типові приклади — заповнення визначеної форми, надсилання шаблонних листів і збереження файлів за встановленою процедурою.
Натомість вони гірше підходять для «завдань, у яких ситуація щоразу змінюється». Якщо обсяг даних для обробки відрізняється залежно від дня, вміст екрана змінюється відповідно до обставин або потрібне людське рішення, простого запису та відтворення буде недостатньо. Однак це не означає, що «записувані макроси зовсім не здатні з цим упоратися». Якщо за допомогою запису створити каркас, а змінні частини доповнити умовними розгалуженнями та циклами в скрипті або розпізнаванням зображень, багато завдань можна охопити автоматизацією.
Важливо не намагатися за будь-яку ціну «автоматизувати все лише за допомогою запису». Розділіть завдання на «постійні частини» та «змінні частини»: постійні частини записуйте, а змінні опрацьовуйте за допомогою невеликих удосконалень. Навчившись правильно проводити цю межу, ви помітите, що автоматизувати можна напрочуд багато завдань, які на перший погляд здаються складними.
Крім того, записаний макрос слід сприймати не як щось «завершене одразу після створення», а як інструмент, який поступово вдосконалюється в процесі використання. Навіть якщо спочатку він працює дещо незграбно, запускайте його на практиці й виправляйте подальшим редагуванням виявлені недоліки — наприклад, недостатній час очікування або зупинки посеред виконання. Так він поступово перетвориться на стабільний і практичний макрос. Замість того щоб боятися почати через прагнення до досконалості, спершу створіть робочий варіант, а потім розвивайте його. Саме такий підхід допомагає не полишати справу в довгостроковій перспективі.
Як розуміти швидкість запису та відтворення
Швидкість відтворення макросу — важливий чинник, що впливає на ефективність автоматизації. Макрос можна відтворювати з тією самою швидкістю, з якою його було записано, але багато інструментів дають змогу вільно її регулювати. Збільшення швидкості прискорює виконання роботи, однак за надто високої швидкості програма може не встигати реагувати, і клацання не потраплятимуть у ціль. Якщо ж важливіша надійність, безпечніше встановити трохи нижчу швидкість.
Рекомендується спочатку переконатися, що макрос надійно працює зі звичайною швидкістю (1×), а потім поступово підвищувати її, щоб знайти максимальне значення без збоїв. Оптимальна швидкість залежить від характеру завдання та часу відгуку програми. У циклах, що обробляють великі обсяги даних, навіть незначна економія часу на одному записі зрештою дає суттєву різницю. Налаштовуйте баланс між «швидкістю» та «надійністю» відповідно до своєї роботи.
Безпечне тестування записаного макросу
Небезпечно одразу запускати створений макрос на робочих даних. Автоматизація виконує операції «швидко, точно й скільки завгодно разів», тому за наявності помилки в послідовності дій буде на великій швидкості виконано безліч неправильних операцій. Щоб уникнути незворотних наслідків, обов’язково дотримуйтеся процедури тестування.
Є три основні правила безпечного тестування. По-перше, використовуйте фіктивні тестові дані або копії файлів. Якщо не працювати безпосередньо з робочими даними, збій не завдасть шкоди. По-друге, спочатку задайте один прохід циклу та низьку швидкість, щоб візуально перевірити кожну дію. По-третє, лише переконавшись, що все працює належним чином, поступово збільшуйте кількість проходів і швидкість, наближаючись до робочого режиму. Такий обережний підхід дасть змогу впевнено впровадити автоматизацію в робочі процеси.
Поєднання кількох макросів
Опанувавши створення окремого макросу для кожного завдання, переходьте до поєднання кількох макросів. Замість того щоб перетворювати тривалий робочий процес на один величезний макрос, краще розділити його на невеликі макроси за змістовими блоками — так ними буде набагато простіше керувати надалі. Наприклад, якщо створити три невеликі макроси: «Отримання даних», «Зведення» та «Формування звіту», то для зміни лише способу зведення достатньо буде замінити відповідну частину.
Ще одна перевага поділу на невеликі макроси — можливість багаторазово використовувати їх як готові компоненти. Один раз створивши макрос «Надіслати шаблонний лист», ви зможете знову й знову викликати його в різних робочих процесах. Якщо перетворювати часто використовувані операції на компоненти та накопичувати їх, нові автоматизації можна буде швидко створювати, просто поєднуючи вже наявні частини. Проєктування макросів не як «одноразових інструментів», а як «компонентів багаторазового використання» значно підвищує продуктивність автоматизації.
У makuroku також є команда для виклику інших макросів або скриптів зі скрипту. За її допомогою можна поєднувати невеликі компоненти та створювати масштабніші автоматизації. Спочатку достатньо окремого макросу для кожного завдання, але зі зростанням кількості автоматизацій підхід «поділ на компоненти та їх поєднання» дасть змогу автоматизувати навіть складні робочі процеси, зберігаючи їх чітку організацію.
Важливо не прагнути від самого початку створити велику й складну систему. Спершу надійно автоматизуйте одне завдання, а коли таких автоматизацій стане більше — упорядкуйте їх. Дотримуючись цього природного шляху, ви зможете без надмірних зусиль, але неухильно вдосконалювати свою автоматизацію.
Організація макросів у «власний набір інструментів»
Коли макрос працюватиме без збоїв, збережіть його під зрозумілою назвою, значення якої буде очевидним для вас і надалі. Найкраще використовувати назви, що відразу описують завдання, наприклад «Зведення звіту про продажі» або «Збереження рахунку у PDF». Накопичуючи макроси один за одним, ви з часом створите власний «набір інструментів автоматизації».
Робота, яка раніше займала кілька хвилин, тепер виконується одним сполученням клавіш. Такі невеликі заощадження часу накопичуються й наприкінці дня дають значний запас вільного часу. З makuroku можна безкоштовно випробувати у Windows усе в одному застосунку: запис, відтворення, подальше редагування, створення сценаріїв і запуск за розкладом. Почніть збирати власний набір інструментів уже сьогодні — просто запишіть одне зі своїх завдань.
Спробувати безкоштовно
Автоматизуйте це з makuroku
makuroku записує вашу мишу та клавіатуру, а потім відтворює автоматично. Додайте SCR-скрипти та інтеграцію зі ШІ (MCP), коли потрібно більше. Усі функції безкоштовні на Windows.
Більше статей