Google apps script 在提交时对Google表单响应进行排序

Google apps script 在提交时对Google表单响应进行排序,google-apps-script,google-api,google-sheets,google-forms,Google Apps Script,Google Api,Google Sheets,Google Forms,我的工作表中有三列谷歌表单存储回复数据:性别、姓名和电子邮件。 如果用户发送的表单的性别字段值等于“男性”,我想将此响应存储到名为“男性”的现有表单中。 这是我的解决方案(我已经为它添加了特殊触发器,这里是event hendler的实现),但它不起作用: function onItemAdd(e) { var formData = e.values; if (formData[0] == "Male") { SpreadsheetApp.setActiveSheet(ss.ge

我的工作表中有三列谷歌表单存储回复数据:性别、姓名和电子邮件。 如果用户发送的表单的性别字段值等于“男性”,我想将此响应存储到名为“男性”的现有表单中。 这是我的解决方案(我已经为它添加了特殊触发器,这里是event hendler的实现),但它不起作用:

function onItemAdd(e) {
  var formData = e.values;
  if (formData[0] == "Male") {
    SpreadsheetApp.setActiveSheet(ss.getSheets()[1]);
    var form = FormApp.getActiveForm().getResponses();
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Males").getDataRange().getValues()[0];
    var formRow = e.range;
    var filteredCell = formRow.getCell(1, formRow.getLastColumn()).offset(0, 1).setValue(formData);
  }
}

表单提交事件对象没有
属性。表单提交事件对象上只有3个属性

  • authMode
  • 回应
  • 来源
source
获取表单<代码>响应获取表单响应

var thisResponse = e.response.getItemResponses();
var gender = thisResponse[0].getResponse();

Logger.log('gender: ' + gender);

另一种方法可能是使用公式从工作表中过滤出数据。您可以使用ez查询工作表附加组件轻松创建只包含男性的活动工作表。