我可以在执行函数时设置触发器吗?

时间:2017-01-03 21:45:50

标签: google-apps-script google-sheets

我试图在电子表格应用程序中设置触发器,但我没有弄清楚如何在执行函数时设置触发器,即使它是从{{1}执行的事件。例如,我想在运行函数时检查内容是否已更改。

我观察到,当电子表格中的自定义函数更改或编辑某些内容时,它不会触发onEdit(e) / onEdit()函数。有没有办法做到这一点,或者更好,在执行函数时设置触发器,即使在后台?

2 个答案:

答案 0 :(得分:0)

不,当Apps Script功能运行时,没有触发器触发。

如果你想在某个功能运行时发生某些事情,你可以通过在该功能的主体中加入doSomething()之类的呼叫来实现。

答案 1 :(得分:0)

不,通过appscript函数在工作表上写一些东西不能触发appscript中提供的onEdit / onChange触发器。此外,即使您在电子表格中复制粘贴数据,也不会触发onEdit触发器。

在这种情况下,像@Zaq在他的回答中所说,在你的基本功能本身中写下该函数或触发器的代码。

或者,您可以在电子表格中只使用一个单元格创建一个新工作表,并且只要您的函数运行,就可以在其中写入“被调用”或其他内容。并连续检查您的触发功能(即1分钟触发),无论该值是否被“调用”。如果是,请运行触发器并重置值,否则不执行任何操作。