Устранение неполадок со скриптами 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 Run с параметром

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

Передача целых массивов в качестве параметров скрипта

Power Automate позволяет пользователям передавать массивы соединителям в виде переменной или как отдельных элементов массива. По умолчанию передается одиночный элемент, который создает массив в потоке. Для сценариев или других соединителей, которые принимают в качестве аргументов целые массивы, необходимо нажать кнопку Переключиться на ввод всего массива , чтобы передать массив как один полный объект. Эта кнопка находится в правом верхнем углу поля ввода каждого параметра массива.

Кнопка для переключения для ввода всего массива в поле ввода поля управления.

Различия часовых поясов

Файлы Excel не имеют присущего расположения или часового пояса. Каждый раз, когда пользователь открывает книгу, его сеанс использует локальный часовой пояс этого пользователя для вычисления даты. Power Automate всегда использует UTC.

Если в скрипте используются даты или время, могут возникнуть различия в поведении при локальном тестировании скрипта и при выполнении в Power Automate. Power Automate позволяет преобразовывать, форматировать и настраивать время. Инструкции по использованию этих функций в Power Automate и передаче данных в скрипты Power Automate и из них см. в статье Работа с датами и временем в потоках, чтобы узнать, как предоставить эти сведения о времени для скрипта.

Поля параметров скрипта или возвращаемые выходные данные не отображаются в Power Automate

Существует две причины, по которым параметры или возвращаемые данные скрипта неправильно отражаются в построителе потоков Power Automate.

При создании сигнатура скрипта сохраняется с помощью соединителя Excel Для бизнеса (Online). Удалите старый соединитель и создайте новый, чтобы получить последние параметры и возвращаемые значения для действия Выполнить скрипт .

См. также