Устранение неполадок со скриптами Office, выполняемыми в Power Automate
Power Automate выполняет скрипты от вашего имени в независимых сеансах Excel. Это приводит к некоторым изменениям в поведении, которые могут вызвать проблемы с определенными сценариями или сценариями. Существуют также ограничения и особенности поведения, которые должны знать авторы сценариев платформы Power Automate. Обязательно прочтите статьи Устранение неполадок со сценариями Office и ограничениями платформы и требованиями с помощью сценариев Office, так как большая часть этой информации также относится к скриптам в потоках.
Совет
Если вы только начинаете использовать сценарии Office с Power Automate, начните с запуска сценариев Office с Power Automate , чтобы узнать о платформах.
Важно!
Чтобы использовать сценарии Office в Power Automate, необходимо иметь бизнес-лицензию Microsoft 365. Лицензии Office 365 корпоративный E1 и Office 365 F3 могут использовать скрипты с Power Automate, но не имеют интеграции Power Automate непосредственно в Excel.
Избегайте относительных ссылок
Power Automate запускает скрипт в выбранной книге Excel от вашего имени. В этом случае книга может быть закрыта. Любой API, который использует текущее состояние пользователя, например Workbook.getActiveWorksheet
, может работать по-разному в Power Automate. Это связано с тем, что API-интерфейсы основаны на относительном положении представления или курсора пользователя, а эта ссылка не существует в потоке Power Automate.
Некоторые относительные эталонные API вызывают ошибки в Power Automate. Другие имеют поведение по умолчанию, подразумевающее состояние пользователя. При разработке скриптов обязательно используйте абсолютные ссылки на листы и диапазоны. Это делает поток Power Automate согласованным, даже если листы переупорядочены.
Сценарии методов, которые завершаются сбоем в потоках Power Automate
Следующие методы выдают ошибку и завершаются ошибкой при вызове из скрипта в потоке Power Automate.
Класс | Метод |
---|---|
Chart | activate |
Range | select |
Workbook | getActiveCell |
Workbook | getActiveChart |
Workbook | getActiveSlicer |
Workbook | getSelectedRange |
Workbook | getSelectedRanges |
Методы скрипта с поведением по умолчанию в потоках Power Automate
Следующие методы используют поведение по умолчанию вместо текущего состояния любого пользователя.
Класс | Метод | Поведение Power Automate |
---|---|---|
Workbook | getActiveWorksheet |
Возвращает первый лист в книге или лист, активированный методом Worksheet.activate . |
Worksheet | activate |
Помечает лист как активный лист для целей Workbook.getActiveWorksheet . |
Обновление не полностью поддерживается в Power Automate
Скрипты Office не могут обновить большую часть данных при выполнении в Power Automate. Большинство методов обновления, таких как PivotTable.refresh
, не выполняют никаких действий при вызове в потоке.
Workbook.refreshAllDataConnections
Обновляется только в том случае, если источником является PowerBI. Кроме того, Power Automate не активирует обновление данных для формул, использующих ссылки на книги.
Методы скриптов, которые ничего не делают в потоках Power Automate
Приведенные ниже методы ничего не делают в скрипте при вызове через Power Automate. Они по-прежнему успешно возвращаются и не вызывают никаких ошибок.
Класс | Метод |
---|---|
PivotTable | refresh |
Workbook | refreshAllPivotTables |
Worksheet | refreshAllPivotTables |
Сценарии методов с другим поведением в Power Automate
Следующие методы работают в потоках Power Automate иначе, чем при выполнении через Excel.
Класс | Метод | Поведение Power Automate |
---|---|---|
Workbook | refreshAllDataConnections |
Обновляет только источники PowerBI. Для других источников метод возвращает успешно, но ничего не делает. |
Выбор книг с помощью элемента управления "Файловый браузер"
При создании шага Выполнение скрипта потока Power Automate необходимо выбрать книгу, в которую входит поток. Используйте браузер файлов, чтобы выбрать книгу, а не вводить ее имя вручную.
Дополнительные сведения об ограничении Power Automate и обсуждение возможных обходных решений для динамического выбора книг см. в этой теме в сообществе Microsoft Power Automate.
Передача целых массивов в качестве параметров скрипта
Power Automate позволяет пользователям передавать массивы соединителям в виде переменной или как отдельных элементов массива. По умолчанию передается одиночный элемент, который создает массив в потоке. Для сценариев или других соединителей, которые принимают в качестве аргументов целые массивы, необходимо нажать кнопку Переключиться на ввод всего массива , чтобы передать массив как один полный объект. Эта кнопка находится в правом верхнем углу поля ввода каждого параметра массива.
Различия часовых поясов
Файлы Excel не имеют присущего расположения или часового пояса. Каждый раз, когда пользователь открывает книгу, его сеанс использует локальный часовой пояс этого пользователя для вычисления даты. Power Automate всегда использует UTC.
Если в скрипте используются даты или время, могут возникнуть различия в поведении при локальном тестировании скрипта и при выполнении в Power Automate. Power Automate позволяет преобразовывать, форматировать и настраивать время. Инструкции по использованию этих функций в Power Automate и передаче данных в скрипты Power Automate и из них см. в статье Работа с датами и временем в потоках, чтобы узнать, как предоставить эти сведения о времени для скрипта.
Поля параметров скрипта или возвращаемые выходные данные не отображаются в Power Automate
Существует две причины, по которым параметры или возвращаемые данные скрипта неправильно отражаются в построителе потоков Power Automate.
- Подпись скрипта (параметры или возвращаемое значение) изменилась с момента добавления соединителя Excel Business (Online).
- Подпись скрипта использует неподдерживаемые типы. Проверьте типы на соответствие ограничениям для параметра Скрипты Office и типов возвращаемых значений.
При создании сигнатура скрипта сохраняется с помощью соединителя Excel Для бизнеса (Online). Удалите старый соединитель и создайте новый, чтобы получить последние параметры и возвращаемые значения для действия Выполнить скрипт .
Некоторые веб-API недоступны в потоках Power Automate
Некоторые веб-API, такие как TextEncoder
и Crypto
, могут быть недоступны при выполнении сценариев Office в потоках Power Automate. Полный список веб-API см. в разделе Веб-API MDN .
Power Automate возвращает ошибку *API* is not defined
, где *API*
указывает библиотеку, например TextEncoder
, при выполнении скрипта, использующего неподдерживаемый API.
См. также
Office Scripts