在提交时对Google表单回复进行排序

时间:2016-03-08 20:06:13

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

我的工作表中有三列,其中Google表单存储响应数据:性别,名称和电子邮件。 如果用户发送的表单中包含性别字段值等于"男性"我想将此响应存储到名为" Males"的现有工作表中。 这是我的解决方案(我已经为它添加了特殊触发器,这里是事件hendler implimentation),但它不起作用:

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);
  }
}

1 个答案:

答案 0 :(得分:0)

On Form Submit事件对象没有values属性。 On Form Submit事件对象只有3个属性。

  • authMode
  • 响应

source获取表单。 response获得表单回复。

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

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