如何使用Google App Script将Google表单回复附加到Google表格

时间:2017-10-01 21:13:32

标签: google-apps-script

我正在尝试创建一个可以从Google表单中读取和存储信息的Google表格。我需要此程序在表单提交时将字段添加到我的Google表格中。下面的代码会自动创建一个表单,其中包含表单中的信息。

我目前正在使用记录器来查看他们是否正在使用任何记录器 表格中的信息。他们不是。

如何从表单中检索每个值,然后以编程方式将其附加到我创建的工作表中?

Format-List

2 个答案:

答案 0 :(得分:0)

这个答案怎么样?

修改和确认点:

  1. var sheet = ss.getSheetId(0);发生错误。提交表单时,由于错误,未运行if (sheet) {下面的脚本。 getSheetId()的详细信息为here。如果要将数据导入电子表格中的第一页,请使用var sheet = ss.getSheets()[0];
  2. 请确认formSubmit(e)哪个功能From SpreadsheetOn form submite.values。通过安装触发器,您可以通过脚本检索提交的值。您可以在installed as a trigger
  3. 查看详细信息

    修改后的脚本:

    在您的情况下,如果您想使用e.values[1].split(", ")检索复选框的值,当问题只有一个时,您可以使用e.namedValues["### question name ###"]执行此操作。如果有多个问题,您可以使用function formSubmit(e) { var values = e.values[1].split(", "); var date = values[0]; var name = values[1]; var phone = values[2]; var ss = SpreadsheetApp.openById('1FpRbYC-nfltxoalGV974aDX6A_fEy_MBYBShruRRYfM'); var sheet = ss.getSheets()[0]; if (sheet) { Logger.log(name); } else { Logger.log(phone); } sheet.appendRow([date,name,phone]); } 检索每个值。

    从你的剧本,这里假设前者。

    {{1}}

    如果我误解了你的问题,我很抱歉。

答案 1 :(得分:0)

您的事件是从表单还是从电子表格触发。如果它来自电子表格,则这些是事件对象传递的参数:authmode,values,range和namedValues。如果它来自表单,那么这些是参数:authmode,response和source。