我有一个功能,可以从一张纸上读取纸币,并在编辑时将它们写入另一张纸的单元格中。但是,每当我这样做时,它会将所有这些写入添加到撤消堆栈中。这意味着无论何时用户进行编辑,都无法再使用撤消功能,因为撤消堆栈中充满了脚本所做的编辑。
有没有办法从撤销堆栈中排除脚本执行的写入功能?我很欣赏这可能是不可能的,但如果我不能这样做,我将不得不使用计时器每小时运行一次,这意味着一切都将过时一小时。
干杯,
麦克
答案 0 :(得分:1)
可悲的是,脚本执行的操作等同于您自己在单元格中编写内容。在工作表侧跟踪编辑堆栈,并由运行脚本的用户进行编辑。
您唯一的希望是将其作为与打开电子表格的用户不同的用户运行,但鉴于onEdit()
触发器的性质,这可能无法实现。请参阅触发器documentation。
我建议这样做的原因是工作表会分别跟踪每个用户的编辑内容。然而,即使这不是一个完美的解决方案,好像我们都编辑完全相同的单元格,我的撤消仍然会改变您的编辑。 E.G如果我将A
写入一个空单元格,然后你将B
写入同一个单元格,一个我按下撤销,它将再次成为一个空单元格。