Forms 谷歌电子表格的脚本触发器

Forms 谷歌电子表格的脚本触发器,forms,google-apps-script,triggers,google-sheets,google-forms,Forms,Google Apps Script,Triggers,Google Sheets,Google Forms,这是一个关于为通过自定义表单填充的google电子表格使用脚本触发器的问题。工作流程如下所示: -通过带有上传按钮的自定义谷歌表单收集数据-效果良好 -数据进入单页电子表格进行排序和格式化-工作正常 -将范围从电子表格转换为绑定到电子表格的csv文件的脚本-工作正常 -在csv转换脚本中添加了一个触发器OneEdit(参考资料=>当前项目的触发器),这是一个问题 问题是,如果您在电子表格中手动进行任何编辑,此触发器工作正常。但如果来自web表单的新数据到达,它将保持空闲状态,它不会启动csv转换

这是一个关于为通过自定义表单填充的google电子表格使用脚本触发器的问题。工作流程如下所示: -通过带有上传按钮的自定义谷歌表单收集数据-效果良好 -数据进入单页电子表格进行排序和格式化-工作正常 -将范围从电子表格转换为绑定到电子表格的csv文件的脚本-工作正常 -在csv转换脚本中添加了一个触发器OneEdit(参考资料=>当前项目的触发器),这是一个问题

问题是,如果您在电子表格中手动进行任何编辑,此触发器工作正常。但如果来自web表单的新数据到达,它将保持空闲状态,它不会启动csv转换功能。因此,触发器不考虑从表单编辑的新输入。我尝试了其他触发器-onChange和onformsubmission,但也没有成功

但是,如果我对同一工作流使用标准的google表单,而不是自定义表单,那么触发器onFormSubmission就可以完美地工作。问题是在标准的谷歌表单中没有上传功能,这就是为什么我要构建我的自定义表单

我尝试了Formpl.us服务,它可以添加上传按钮,但是我得到了与我自己的表单相同的结果。触发器将忽略新提交的内容

所以问题是当来自自定义web表单的新数据到达电子表格时,如何使触发器起作用


非常感谢您提供的提示。

我建议您添加一个“状态”列,并在该列中为触发器处理的每一行输入一些内容。然后设置一个基于时间的触发器来查找任何空的状态列,然后只处理该行

您使用了相互冲突的术语,请澄清。“自定义谷歌表单”vs“自定义web表单”。如果您使用的是Google Forms(该服务),如果设置正确,表单提交触发器将工作。如果您使用的是您自己创建的表单,那么您必须以某种方式更新电子表格-请描述一下。这些细节与理解您的问题相关。代码将是帮助我们帮助您的最佳方式。好的,自定义web表单是我使用google脚本构建的web表单。它不是本地标准的谷歌表单。此自定义表单将数据发送到专用电子表格,并在新数据到达时立即更新。在自定义web(基于google脚本)表单中单击“提交”后,您可以在几秒钟内看到新数据。太好了-这很有帮助。使用onChange触发器-当工作表更新时,它将获得一个事件。然后使用Bjorn的建议记录哪些行已被处理。基于时间的触发器没有帮助,因为我的目标是在提交新数据时立即生成csv文件