有没有办法让表单提交对传播 sheet 中特定 sheet 的回复?

Is there a way to have a Form submit responses to a specific sheet in a spreadsheet?

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

但我正在尝试将提交给 appendRow/submit 的表单提交给 spreadsheet ss1 中的特定 sheet。有什么方法可以在 google 应用程序脚本中做到这一点?上面只是指向 spreadsheet ss1 并在该 spreadsheet.

中创建一个 "Form Responses" sheet

在此先感谢您的指导!

P.S。为了了解更多背景信息,我正在尝试设置一个表格以将费用数据发送到我的预算 google sheets 文件,该文件具有目标 [=28] 的 "current month.year" 格式=] 姓名.

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

在函数体内,您可以引用传播sheet 和要传递表单数据的目标sheet。但是,您必须知道 Form Service APIs 以及如何手动提取和格式化表单的受访者数据,因为您将无法从绑定到表单的 "linked" spreadsheet 中获益。

因此您可以如下编写事件处理函数(从表单的脚本编辑器):

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.

希望对您有所帮助。