将特定的Google表单响应值复制到不同的Google表格中

时间:2014-07-16 20:13:18

标签: google-apps-script google-sheets

我有一个包含很多问题的Google表单,但我只想将一些响应记录到一个单独的精简电子表格中。这些是我想要记录的回复:

First Name
Last Name
Company
Role    

这是我的脚本,触发在表单提交时执行:

function copyCondensedResponseData(e) {

   var array_to_paste_in_participant_attendance_sheet = [];
   array_to_paste_in_participant_attendance_sheet.push(e.namedValues["First Name"].toString());
   array_to_paste_in_participant_attendance_sheet.push(e.namedValues["Last Name"].toString());
   array_to_paste_in_participant_attendance_sheet.push(e.namedValues["Role"].toString());
   array_to_paste_in_participant_attendance_sheet.push(e.namedValues["Company"].toString());

   var participant_attendance_sheet = SpreadsheetApp.openById(/* id */).getSheets()[0];

   participant_attendance_sheet.getRange(participant_attendance_sheet.getLastRow()+1,1).getValues()[0] = array_to_paste_in_participate_attendance_sheet;
}

但是没有任何内容粘贴到participant_attendance_sheet中。我知道通常通过调用getRange()和setValues()将数据从一个工作表复制到另一个工作表,但我认为只有当我想要复制的数据属于Object [] []类时。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您仍然需要使用setValues。在这种情况下,输入是一个1乘4的多维数组。

var input = [participant_attendance_sheet];
var r = participant_attendance_sheet.getRange(participant_attendance_sheet.getLastRow()+1,1,1,4);
r.setValues(input);