Excel 中的 setSelectedDataAsync 后无法编辑单元格

Unable to edit cells after a setSelectedDataAsync in Excel

我正在使用 Office 加载项平台为 Excel 开发一个加载项。在此加载项中,我使用 setSelectedDataAsync** 函数将数据写入范围。它工作正常,但在写入数据后,我无法删除或编辑单元格(尽管我可以 select 新范围),除非我单击工作表外的任何地方或双击一个单元格。我认为这是 Excel 无法正确重新获得焦点的问题(应用程序顶部的文件名仍然显示为灰色)。

一些用户似乎认为 Excel 变得无响应,这是一个问题。

这是一个已知问题吗?有解决办法吗?

** 我注意到 setSelectedDataAsync 比将 range.values 设置为矩阵然后 ctx.sync() 快得多。如果不使用后一种方法,我会失去一些重要的功能吗?

这不是已知问题(设置数据后无法与工作表交互)。我们可以调查一下。

惊讶地听到 setSelectedDataAsync 比范围 values 集工作得更快。批处理语法允许您不仅组合一条指令,还可以组合许多相关指令,例如设置数字格式、字体、背景等,您可以执行单个 sync() 以一批发送所有指令。因此,将相关指令组合在一起会更有效率。

没有限制使用哪个 API;然而,Excel1.1 版本是随 Office 2016 引入的,此后发布了许多版本,并逐步添加了新功能。

setSelectedDataAsync() API 旨在跨主机工作,例如 Excel、Word 等,因此在设置数字格式、格式、等等