Как программно выполнить скрипт Microsoft Excel Office?
Мы перешли к написанию офисных скриптов вместо макросов VBA. Мне также известны REST API Microsoft Graph для excel. Может ли кто-нибудь посоветовать мне, как я могу программно выполнить офисный сценарий (например, пример ниже), не создавая экземпляр Excel локально?
async function main(context: Excel.RequestContext) {
// Set range A1 on selectedSheet
let workbook = context.workbook;
let worksheets = workbook.worksheets;
let selectedSheet = worksheets.getActiveWorksheet();
selectedSheet.getRange("A1").values = [
["Hello World"]
];
}
Я не смог найти ни одного графического API для этого.
Спасибо.
2 ответа
Для запуска офисного скрипта через Graph API необходимо два требования: 1. Библиотека Office JS: проанализировать офисный скрипт для создания запроса, а также проанализировать результат в ответ. 2. Specific Graph API: запустите запрос на стороне службы для целевого файла.
К сожалению, сейчас ни одного из них нет.
Однако ведется еще одна текущая работа по интеграции сценариев Office с PowerAutomate, которая позволит нам запускать сценарии для книги в PowerAutomate (без локального экземпляра Excel). Здесь (https://mybuild.microsoft.com/sessions/bc1bc3e6-9dc1-474e-a5d6-409af2fa0ad3?source=sessions) находится видео, в котором представлены сценарии Office (а также его интеграция с PowerAutomate) в недавней сборке Microsoft. Эта функция скоро станет общедоступной.
Microsoft объявила об интеграции сценариев Office с Microsoft Power Automate (предварительная версия), где вы можете запускать сценарии Office с триггерами на основе расписания или триггерами на основе событий.
Вот несколько ссылок, которые могут быть полезны:
- Объявление о поддержке сценариев Office в соединителе Excel Online (Business)
- Запуск сценариев Office с помощью Power Automate
- Вызов скриптов из ручного потока Power Automate (предварительная версия)
- Передача данных в сценарии в автоматически запускаемом потоке Power Automate (предварительная версия)