Надстройка JavaScript для отладки Excel в существующем файле Excel в Visual Studio Code

Я пытаюсь отладить надстройку Javascript для Excel с помощью отладчика надстройки Office в коде Visual Studio. Я хочу настроить отладчик для открытия существующего файла Excel.

Я использую конфигурацию Excel Desktop по умолчанию (Edge Chromium) в файле launch.json. Но каждый раз, когда я нажимаю F5, создается новый файл Excel. Имя файла — это идентификатор GUID в теге Id в файле manifest.xml, например, a32c06d3-4bbb-4158-8b61-e0349f58019c.xlsx.

Я видел, что эта конфигурация запускает отладку preLaunchTask: рабочий стол Excel. Эта задача указана в task.json:

  "label": "Debug: Excel Desktop",
  "type": "npm",
  "script": "start:desktop -- --app excel,
  "presentation": {
    "clear": true,
    "panel": "dedicated",
  },
  "problemMatcher": []

Это npm start:desktop --app excel, который создает новый файл Excel.

Я попытался

npm start:desktop --app excel 'каталог\имя файла'

Но npm по-прежнему создает файл excel с именем GUID вместо открытия указанного файла. Я знаю, что в Visual Studio вы можете запустить отладчик и подключиться к существующему файлу Excel (объяснено в этой ссылке: Отладка надстройки Excel, написанной с помощью JavaScript API, в существующей книге). Может ли Visual Studio Code сделать то же самое?


person waze    schedule 16.04.2021    source источник


Ответы (1)


Я просмотрел код расширения office-addin-debugger. Он не поддерживает отладку существующего офисного файла (Excel или Word). Это расширение работает следующим образом: оно считывается из файла шаблона office в node_modules\office-addin-dev-settings\templates. Этот офисный файл шаблона (например, ExcelWorkbookWithTaskPane.xlsx) содержит некоторую информацию XML-манифеста. Код расширения заменяет эту информацию информацией XML надстройки, такой как идентификатор и версия, а затем выводит в новый офисный файл (например, надстройка Excel 05a62159-5ecd-42b7-b302-641656dcb776.xlsx). Затем новый офисный файл запускается и прикрепляется к отладчику.

Чтобы использовать существующий файл Excel, этот файл Excel должен иметь аналогичную XML-информацию манифеста скелета, которую нужно искать и заменять. Я не нашел способ добавить эту информацию в файл excel.

Обходной путь — переместить содержимое существующего файла Excel в новый файл VSC, созданный во время отладки. Но вы не можете сохранить этот новый файл. После сохранения информация xml будет потеряна, и этот сохраненный файл нельзя будет использовать в отладке офисных надстроек VSC.

person waze    schedule 23.04.2021