有什么方法可以使用 ExcelScript 进行事件处理(Excel for web)

Is there any way to have event handling with ExcelScript (Excel for web)

我正在尝试使用 Excel 网页版(Excel脚本)创建一个“签入 - 签出”表单来登记公司员工的进出时间。对于表单中的每个工作人员,必须在相邻行中有一个 Check IN 和一个 Check OUT 按钮,这些按钮将标记在下面的单元格中当前时间的按钮,然后删除按钮,就像通常使用 VBA 宏所做的那样。

据了解无法使用 javascript API 中的按钮,但是此 有一个有趣的解决方法,使用事件 worksheet.onSingleClicked() 因此用户可以单击单元格看起来 像一个按钮,它会调用一个函数来标记当前时间并删除所有按钮格式。

据我所知,API 是唯一可以 运行 on Excel for Web 的 API。

是否有任何方法可以在 for loop 中创建用户可交互按钮,或注册事件(如 onSingleClicked()onChanged())以在 Excel 中用于网络?

谢谢

您需要手动添加。如今,新的 Office 脚本非常有限。但您可以 post 为团队提出功能请求。

当开发团队完成规划过程时,会考虑技术社区的功能请求。在 https://aka.ms/M365dev-suggestions 处使用 github 标签:“类型:产品功能请求”。

您可以在线使用 Excel Javascript API,而无需从头开始编写 add-in。所以你可以使用你提到的将单元格格式化为看起来像按钮的技巧,这是我写的。它需要 JADE 插件,可在 Mac Windows 和在线平台上免费使用。它尚不适用于移动版本,但您可以 运行 大多数(所有?)移动平台上的在线版本。

使用 JADE,您可以将单元格格式化为看起来像 sheet 上的按钮,或者让代码呈现具有实际 check-in / check-out 按钮的员工列表插件面板。

我很乐意编写这两种方法的示例,但它可能应该是为了回答具体关于如何使用 JADE 执行此操作的问题 add-in。如果你想要这样的例子,post 另一个问题和 link 在对这个答案的评论中,我会写这个例子。

Discalimer:我写了 JADE add-in。