每当特定列发生更改时,我都会使用OnEdit函数将数据移动到另一个工作表。但是,这种变化应该通过一个公式来实现。但是,它不起作用。
例如:当我手动将A1更改为"ok“时,OnEdit函数可以工作,但是当A1单元格通过一个If条件更改为"ok”时,它不会移动,也不会移动。
你能帮助我在没有人干预的情况下使用Onedit函数吗?
发布于 2020-04-09 15:31:36
问题:
如您所见,in the official documentation
onEdit(e)在a user更改电子表格中的值时运行。
也就是说,此触发器不会跟踪programmatically所做的更改
脚本执行和API请求不会导致触发器运行。例如,调用
Range.setValue()编辑单元格不会导致电子表格的onEdit触发器运行。
解决方法:
对此限制的一种可能的解决方法是改为使用time-driven trigger。例如,您可以使用一个触发器来触发every minute,而不管电子表格是否被编辑过。
然后,在触发的函数中,您可以想出一种方法来检查电子表格在最近一分钟内是否被编辑过(例如,将以前的值存储在另一个表中,或存储在script property中,并将它们与当前值进行比较),如果是这样,则执行您想要的操作。
参考资料:
https://stackoverflow.com/questions/61109835
复制相似问题