以编程方式对两个Google表格的重复表单回复

Pie*_*and 6 google-sheets google-apps-script google-forms

我需要将我的Google表单保存在两个不同的表格中.

第一张纸将是历史记录,另一张将被物流服务利用(当客户收到装运的东西时,可能会删除一些行).

我真的需要在第一张纸上保留所有回复,无论物流服务在第二张纸上做什么.

事实上; 我正在使用formRat,但不再工作了,我没有看到任何补充模块做同样的事情.我编程自己编写脚本不够好.

我试着在第二张表中写这个:

=ArrayFormula('first_sheet_name'!A:W)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试删除第二张纸上的一行时,它会在几秒钟后重新出现,因为Google表格会重新计算它.

Mog*_*dad 2

附加到表单响应电子表格的表单提交触发脚本可以在响应到达时轻松地将响应复制到第二个工作表。稍后在第二张纸上所做的任何修改都将保留。

这是此类可安装触发函数的一个非常简单的示例。您需要ss2ID使用电子表格 2 的工作表 ID 进行声明。该脚本假定响应将复制到电子表格 2 中的第一张工作表,并且所有表单答案均已填充。

function copyResponse( event ) {
  fixFormEvent( event );  // From https://stackoverflow.com/a/26975968/1677912
  var ss2Id = "---sheet-id---";
  var sheet2 = SpreadsheetApp.openById( secondSheetId ).getSheets()[0];
  sheet2.appendRow( [event.values] );
}
Run Code Online (Sandbox Code Playgroud)

此函数使用fixFormEvent( event )Google表单中的 e.values 跳过空答案,有解决方法吗?确保新表中的列与原始问题一致。