启用的触发器onEdit会启动两次功能,未启用会停止显示模式对话框

时间:2018-12-03 03:13:05

标签: google-apps-script google-sheets triggers showmodaldialog

我有一个具有onEdit(e)功能的Apps脚本。该函数根据现有数据和新数据调用其他一些函数。在某些情况下,需要显示showModalDialog。如果我通过触发器onEdit启用功能onEdit(e),它将两次启动某些功能(例如插入行和执行计算)。如果我从触发器列表中删除该触发器,则无法显示showModalDialog,并且错误You do not have permission to call showModalDialog at showDialog(Code:82) at onEdit(Code:1270)

该想法是使showModalDialog在需要时显示,并且在用户编辑数据时仅启动所有其他功能一次。 如果您能帮助我提供解决方案,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

一个名为onEdit(e)的函数本身已经是一个触发器:这称为simple触发器。要显示showModalDialog,您需要创建一个installable触发器。如果在onEdit函数上执行此操作,则可能会为同一函数使用两个触发器(一个简单,一个已安装)。 IMO,最好重命名该功能,然后在该功能上使用可安装的(onEdit)触发器。