本文仅介绍对不使用共享运行时的自定义函数的调试。 对于共享运行时方案,请参阅 Office 加载项调试概述。
重要
请注意,以下平台上可以使用 Excel 自定义函数。
- Office 网页版
- Windows 版 Office
- Microsoft 365 订阅
- 零售永久 Office 2016 及更高版本
- 批量许可的永久/LTSC Office 2021及更高版本
- Mac 版 Office
以下各项当前不支持 Excel 自定义函数:
- iPad 版 Office
- Windows 上批量许可的 Office 2021 或更早版本的永久版本
注意
Microsoft 365 的统一清单目前不支持自定义函数项目。 必须对自定义函数项目使用仅外接程序清单。 有关详细信息,请参阅 Office 外接程序清单。
注意
建议对 共享运行时使用自定义函数,除非有特定原因不使用共享运行时。 有关运行时的详细信息,请参阅 Office 外接程序中的运行时。
提示
本文中所述的调试技术不适用于使用 Office 外接程序项目创建的项目,这些项目包含 Yeoman 生成器中的 “仅清单 ”选项。 本文稍后引用的脚本未随该选项一起安装。 若要调试使用此选项创建的加载项,请根据需要参阅以下文章之一中的说明。
为不使用共享运行时的加载项调试自定义函数的过程因目标平台 (Windows、Mac 或 Web) 以及使用的是Visual Studio Code还是其他 IDE 而异。 使用下表中的链接访问本文中与调试方案相关的部分。 在此表中,“CF-NSR”是指非共享运行时中的自定义函数。
| 目标平台 | Visual Studio Code | 其他 IDE |
|---|---|---|
| Excel 网页版 | 使用 VS Code 和浏览器开发工具 | 使用命令行工具 |
| Windows 版 Excel | 使用 VS Code 和浏览器开发工具 | 不支持在 Vs Code 外部的 Windows 上的 Excel 中调试 CF-NSR。 针对Excel web 版进行调试。 |
| Mac 版 Excel | 不支持在 Excel on Mac 中运行的 CF-NSR 的 VS Code 调试。 针对Excel web 版进行调试。 | 使用命令行工具 |
使用浏览器开发人员工具调试 Excel web 版 中的自定义函数
使用浏览器开发人员工具调试不在 Excel web 版 中使用共享运行时的自定义函数。 以下步骤适用于 Windows 和 macOS。
从 Visual Studio Code 运行加载项
- 在 Visual Studio Code (VS Code) 中打开自定义函数根项目文件夹。
- 选择 “终端>运行任务” 并运行 “监视”。 这将监视和重新生成任何文件更改。
- 选择 “终端>运行任务” 并运行 开发服务器。
旁加载加载项
打开Office web 版。
打开新的 Excel 工作簿。
选择“ 主页>加载项”,然后选择“ 更多设置”。
在 “Office 加载项 ”对话框中,选择“ 上传我的外接程序”。
转到加载项清单文件,再选择“上传”。
注意
旁加载到文档后,每次打开文档时,它都将保持旁加载状态。
开始调试
- 打开浏览器的开发人员工具。 在 Chrome 和大多数浏览器中,按 F12 打开开发人员工具。
- 在开发人员工具中,使用 Cmd+P 或 Ctrl+P (functions.js 或 functions.ts) 打开源代码脚本文件。
- 在自定义函数源代码中设置断点。
如果需要进行更改,请在 VS Code 中编辑代码,保存工作,然后刷新工作簿页面以应用更新。
使用命令行工具进行调试
如果不使用 VS Code,请使用 Bash 或 PowerShell 等工具从命令行运行加载项。 若要在 Excel web 版 中调试代码,请使用浏览器的开发人员工具。
在命令行中运行
npm run watch,以便在代码发生更改时监视和重新生成。在运行 watch 时打开第二个命令行窗口 (第一个命令行窗口正忙。)
如果要在桌面版本的 Excel 中启动加载项,并且项目package.json文件的“脚本”部分具有“start:desktop”脚本,请运行
npm run start:desktop;否则运行npm run start。或者,如果想要在 Excel web 版启动加载项,请运行以下命令。
npm run start -- web --document {url}(,其中{url}是 OneDrive 或 SharePoint) 上的 Excel 文件的 URL注意
如果在 Mac 上进行开发,请将 括
{url}在单引号中。 请勿在 Windows 上执行此作。如果外接程序未在文档中旁加载,请按照 旁加载加载项中的步骤作。 然后继续下一部分开始调试。
打开浏览器的开发人员工具。 在 Chrome 和大多数浏览器中,按 F12 打开开发人员工具。
在开发人员工具中,打开源代码脚本文件 (functions.js 或 functions.ts) 。 自定义函数代码可能位于文件末尾附近。
在自定义函数源代码中,通过选择一行代码来应用断点。
如果需要更改代码,可以在 VS Code 中编辑并保存更改。 刷新浏览器以查看已加载的更改。
用于生成和运行加载项的命令
可用的生成任务:
-
npm run watch:为开发生成,并在保存源文件时自动重新生成 -
npm run build-dev:为开发生成一次 -
npm run build:生产版本 -
npm run dev-server:运行用于开发的 Web 服务器
使用以下任务开始调试:
npm run start:desktop:在桌面上启动 Excel 并旁加载加载项。 如果项目package.json文件的“scripts”部分中不存在“start:desktop”脚本,请改为运行npm run start。npm run start -- web --document {url}(,其中{url}是 OneDrive 或 SharePoint) 上的 Excel 文件的 URL:启动Excel web 版并旁加载加载项。注意
如果在 Mac 上进行开发,请将 括
{url}在单引号中。 请勿在 Windows 上执行此作。npm run stop:停止 Excel 和调试。