Как программно выполнить скрипт 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 с триггерами на основе расписания или триггерами на основе событий.

Вот несколько ссылок, которые могут быть полезны:

Другие вопросы по тегам