有没有办法让表单提交对电子表格中特定表格的回复?

时间:2017-06-09 08:57:05

标签: google-apps-script google-sheets google-form

我知道以下一行: form.setDestination(FormApp.DestinationType.SPREADSHEET,ss1.getId());

但我正在尝试将表单提交到appendRow / submit到电子表格ss1中的特定表单。在谷歌应用程序脚本中以任何方式做到这一点?以上只是指向电子表格ss1并在该电子表格中创建“表单响应”表。

提前感谢您的指导!

P.S。对于更多背景,我正在尝试设置一个表单,将费用数据发送到我的预算google工作表文件,该文件具有目标工作表名称的“当前月份”格式。

1 个答案:

答案 0 :(得分:1)

您可以编写自定义事件处理函数(在表单 NOT 的电子表格脚本编辑器的脚本编辑器中)并将其绑定到表单提交事件通过可安装的触发器(see documentation)。

在函数体内,您可以引用要传递表单数据的电子表格和目标表。但是,您必须知道Form Service APIs以及如何手动提取和格式化表单的响应者数据,因为您不会受益于拥有"链接"绑定到表单的电子表格。

所以你可以编写一个事件处理函数(来自Form&#39的脚本编辑器),如下所示:

var SPREADSHEET_ID = "[Your spreadsheet ID]",
    SHEET_NAME = "[Your sheet name]";

function onFormSubmit(e) {
    var sheet = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME),
        form = FormApp.getActiveForm();

    // Extract and format form data and inject it into the sheet 
}

准备好该功能后,您可以创建一个可安装的触发器,通过工具栏中的“编辑”菜单命令将其绑定到表单“脚本编辑器”中的表单提交事件。 Here is a link to the steps you'll need to follow to create the trigger

希望有所帮助。