excel - 在 Visual Studio Code 中的现有 excel 文件上调试 Excel javascript 加载项
问题描述
我尝试使用 Visual Studio Code 中的 Office 插件调试器调试 Excel Javascript 插件。我想将调试器配置为打开现有的 Excel 文件。
我在 launch.json 中使用默认配置“Excel Desktop (Edge Chromium)”。但是每次我按 F5 时,它都会创建一个新的 Excel 文件。文件名是manifest.xml中Id标签中的GUID,如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": []
创建新 Excel 文件的是“npm start:desktop -- --app excel”。
我试过了
npm start:desktop -- --app excel '目录\文件名'
但是 npm 仍然会创建名为 excel 的 GUID 文件,而不是打开指定的文件。我知道在 Visual Studio 中,您可以启动调试器并附加到现有的 Excel 文件(在此链接中解释:Debug Excel add-inwritten by JavaScript API on an existing workbook)。Visual Studio Code 可以做同样的事情吗?
解决方案
我查看了 office-addin-debugger 扩展的代码。它不支持调试现有的 office 文件(excel 或 word)。这个扩展的工作方式是它从 node_modules\office-addin-dev-settings\templates 中的模板 office 文件中读取。此模板办公文件(例如 ExcelWorkbookWithTaskPane.xlsx)包含一些清单 xml 信息。扩展代码将此信息替换为您的插件 xml 信息,例如 Id 和版本,然后输出到新的 office 文件(例如 Excel 插件 05a62159-5ecd-42b7-b302-641656dcb776.xlsx)。然后启动新的 office 文件并将其附加到调试器。
要使用现有的 excel 文件,该 excel 文件必须具有相似的骨架清单 xml 信息,以便搜索和替换。我还没有找到将此信息添加到 excel 文件中的方法。
一种解决方法是将现有 excel 文件的内容移动到调试期间创建的新文件 VSC 中。但是您无法保存该新文件。保存后,xml 信息将丢失,并且该保存的文件无法在 VSC office-addin-debugging 中使用。
推荐阅读
- laravel - 更改到另一个文件后找不到路由
- python - python的selenium Pageobject?
- python - 如何将来自多个模型的数据添加到 HTML 模板 - Django
- talend - Talend 中的动态过滤器行
- zbar - 来自 zbar 的奇怪警告:seg->finder 上的断言
- java - Count Groups of Objects in List
- javascript - 我如何附加到嵌套的输入数组。反应形式
- typescript - Babel TypeScript 预设不理解导入类型和导出类型
- python - plotly:水平条形图无法识别/显示 trace2
- opengl - 在绘制网格表面和多边形边缘时如何避免 OpenGL 中的 z-fighting?