我可以从 Google Apps 脚本的撤消堆栈中排除操作吗?

Mik*_*Ups 6 google-sheets google-apps-script

我有一个函数,可以在进行编辑时从一张纸中读取注释并将其写入另一张纸中的单元格中。但是,每当我这样做时,它都会将所有这些写入添加到撤消堆栈中。这意味着每当用户进行和编辑时,就不再可能使用撤消功能,因为撤消堆栈充满了脚本所做的编辑。

有没有办法从撤消堆栈中排除脚本执行的写入功能?我知道这可能是不可能的,但如果我做不到,我将不得不使用计时器每小时运行一次,这意味着一切都将过时一个小时。

干杯,

麦克风

Vyt*_*tas 5

遗憾的是,脚本所做的操作相当于您自己在单元格中编写一些内容。在工作表端跟踪编辑堆栈,并由运行脚本的用户进行编辑。

您唯一的希望是以与打开电子表格的用户不同的用户身份运行它,但考虑到onEdit()触发器的性质,这可能是不可能的。请参阅触发器文档

我建议这样做的原因是工作表单独跟踪每个用户的编辑。然而,即使这不是一个完美的解决方案,就好像我们都编辑完全相同的单元格一样,我的撤消操作仍然会改变您的编辑内容。例如,如果我写入A一个空单元格,然后你写入B同一个单元格,我点击撤消,它将再次成为一个空单元格。