Microsoft Power Automate Desktop — мощное ПО для автоматизации почти любых повторяющихся и не очень процессов на компьютере, в сети, при взаимодействии со сторонними программами и с недавнего времени программа предоставляется бесплатно пользователям Windows 10. А в Windows 11 программа уже предустановлена (используйте поиск в панели задач для запуска).
В этом обзоре — моя попытка показать, что представляет собой Power Automate Desktop и, возможно, заинтересовать тех, кто всегда искал что-то подобное и найдёт применение программе в своих задачах.
Установка Power Automate Desktop
Скачать бесплатно Power Automate Desktop можно с официального сайта Microsoft — https://flow.microsoft.com/ru-ru/desktop/ . В Windows 11 достаточно найти Power Automate Desktop, используя поиск в панели задач и запустить программу — она установится автоматически. Процесс установки без заметных особенностей, но, возможно, вы захотите отключить некоторые опции в диалоговом окне «Сведения об установке», например — разрешение удаленных подключений для запуска потоков (так в программе называются созданные вами сценарии автоматизации) по сети.
После первого запуска потребуется войти в вашу учётную запись Майкрософт, кроме этого программа будет добавлена в автозагрузку Windows.
Обратите внимание на следующие 2 момента: интерфейс Power Automate Desktop на момент написания этой статьи доступен только на английском языке. Также, на указанной выше странице вы найдёте электронную книгу (также на английском) по использованию программы. Некоторые русскоязычные материалы можно найти на странице: https://docs.microsoft.com/ru-ru/power-automate/
Возможности Power Automate Desktop
Во втором абзаце статьи было отмечено, что это лишь попытка показать возможности ПО — я с ним не знаком, оно в достаточной мере сложное, а в моём понимании многих элементов Power Automate Desktop могут быть неточности.
Было решено действовать по следующему сценарию:
- Я придумываю типичную для себя повторяющуюся задачу.
- Пробую её автоматизировать за полчаса, впервые увидев Power Automate Desktop.
- В статье по порядку рассказываю и показываю, как это происходило и получилось ли что-либо у меня.
Задача придумалась сравнительно легко: каждый раз, начиная, писать следующий материал на сайте я по порядку выполняю следующие действия:
- Создаю на рабочем столе пустой документ Word и даю ему имя в соответствии с названием будущей статьи.
- Открываю этот документ.
- Запускаю Photoshop.
- Создаю в нём новый документ, в который буду складывать скриншоты в процессе.
Создание сценария (Flow или поток в терминологии Power Automate Desktop)
Выглядит не сложно, должно получиться. Пробуем сделать так, чтобы Power Automate Desktop упростил для меня этот процесс:
- В этом окне всё кажется понятным, просто нажимаю «New Flow» (Новый поток) и задаю его имя.
- Оказываемся в главном окне редактирования потока Power Automate Desktop, где слева расположены доступные действия (Actions), по центру — порядок их выполнения, справа — переменные, которые вы можете создавать сами, либо они создаются автоматически в процессе выполнения каких-либо действий.
- С чего начать? Изучаю раздел Actions и нахожу пункт «Display Input Dialog » (показать окно ввода) в разделе «Message boxes» . Отлично, с этого и начну: диалог будет спрашивать меня о названии будущей статьи. Перетаскиваю диалог в центральную панель программы. Настраиваю, здесь всё выглядит понятным: и, более того, введённый мой текст автоматически присваивается переменной, которую можно использовать в дальнейшем.
- Следующей идеей было создать файл с именем моей статьи и подготовленный для Word, но такого действия в разделе File я не нашёл. Да, вероятно, я смог бы это сделать через раздел CMD session , через UI automation или даже путем передачи нажатий мыши и клавиатуры в разделе « Mouse and keyboard », но во время изучения раздела File возникла другая идея: я буду брать откуда-то из резервной папки пустой файл .docx и копировать его на рабочий стол.
- А потом переименовывать в соответствии с введенным текстом на 3-м шаге, здесь для этого как раз всё есть. Делаем. Чтобы использовать переменную в поле нажимаем по значку с изображением крестика. После выполнения этой команды должна быть создана переменная с переименованным файлом, можно будет использовать для открытия его в Word.
- Следующим шагом запускаю Photoshop через действие System — Run Application .
- Далее использую раздел UI Automation , позволяющий с помощью действия Windows — Click UI Element записать клики на элементы запущенных программ, чтобы записать действия в Photoshop по созданию нового пустого файла, сохранять мне его не нужно: по завершении статьи я по отдельности забираю из него скриншоты, обрабатываю и сохраняю каждый, эти действия я не представляю, как автоматизировать.
- По завершении создаю команду для запуска Word с помощью команды Run Application, передав ему в качестве параметра переменную с именем переименованного файла. В результате весь мой Flow выглядит как на изображении ниже, тестируем, нажав кнопку Play вверху окна редактирования.
- Окно запроса темы статьи появляется, файл Word копируется на рабочий стол и переименовывается, Photoshop запускается.
- Далее — ошибка, на этапе создания нового документа в Photoshop, связанная с невозможностью найти окно. После того, как отключил это действие (в контекстных меню действий можно отключать ненужные) обнаружил, что и Word не открывает переименованный файл, имя которого передано в виде переменной в параметрах запуска.
- Первая проблема, как я понял, была связана с тем, что вновь запущенное окно Photoshop — это уже не то же самое окно, в котором были изначально записаны клики. Вторая — с тем, что переменная с переименованным файлом на самом деле не строка, а список путей к файлам в несколько строк с символами перевода строки даже при наличии лишь одного элемента (и с пробелами, если они были введены в окне запроса темы статьи) и Word при запуске не захотел её обрабатывать, а как извлечь первый элемент из списка я за отведенные себе полчаса разобраться не успел — «стандартные» указания 1-го или 0-го элемента в разных скобках не сработали (здесь в попытках отладки мне помогли действия с буфером обмена в разделе Clipboard, хотя, предполагаю, это был излишний «костыль» и нужные инструменты присутствуют в программе, не зря же в меню есть пункт Debug). Было решено всё максимально упростить.
- Итоговый и уже заработавший вариант, полученный через 10 минут после появления первых ошибок и менее чем за 30 минут с начала первого шага выглядит так:
- Поясняю, что в нем происходит: показывается диалог, куда я ввожу тему. Берутся пустые, заранее заготовленные файлы .docx и .psd из скрытой папки, копируются на рабочий стол, файлы переименовываются в мою тему (расширение у них остаётся прежним, сам я для этого ничего не делал), запускается Word и Photoshop, где в качестве параметров передаются имена файлов, но со слегка другим способом указания пути, строка создается из пути к папке рабочего стола, введенной темы и добавленного расширения файла.
Не изящно, но работает. Уверен, что, потратив больше времени на освоение Power Automate Desktop, удастся обнаружить более правильные подходы как к выбору подходящих для задачи действий, так и к работе с переменными.
Важное дополнение: дописывая статью, я обнаружил две кнопки записи вверху окна программы: Desktop Recorder и Web Recorder, предназначенные, соответственно, для записи действий пользователя на рабочем столе или в браузере и последующего их повторения (вставляются в редактируемый Flow). Попробовав, я понял, что свою «автоматизацию» я мог бы реализовать в 10 раз быстрее, даже несмотря на отсутствие знакомства с программой.
Что касается действий, то они не ограничены работой с файлами, командной строкой, элементами пользовательского интерфейса:
- Для обычного читателя моего сайта могут оказаться интересными действия из раздела System — здесь у нас и выполнение скриптов и выключение или блокировка компьютера, проигрывание звуков, создание скриншотов, изменение разрешения и частоты обновления экрана (например, не так давно постоянный читатель спрашивал, как перед запуском игры принудительно изменить частоту обновления и вернуть при выходе из неё — думаю, здесь это можно устроить, хотя уже и было найдено другое решение).
- Можно работать с Excel, Outlook и базами данных
- Извлечением данных из PDF и распознаванием текста, файлами XML
- Шифрованием данных и сжатием
- Подключением к сайтам и извлечением данных с них
- Подключения возможны и к облачным сервисам или, например, FTP с возможностью автоматизации работы с файлами на сервере.
- Конечно, доступны переменные, условия и ветвление, циклы, ожидание события перед выполнением следующего действия.
Надеюсь, среди читателей найдутся те, кто найдёт применение этому отличному и теперь бесплатному софту.