排序 Google 提交时的表单回复
Sort Google Forms responses on Submit
我的 Sheet 中有三列,其中 Google 表单存储响应数据:性别、姓名和电子邮件。
如果用户发送性别字段值等于 "Male" 的表单,我想将此响应存储到名为 "Males" 的现有 sheet。
这是我的解决方案(我已经为它添加了特殊触发器,这里是事件处理器实现),但它不起作用:
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);
}
}
表单提交事件对象没有 values
属性。 On Form Submit 事件对象只有 3 个属性。
- 授权模式
- 回应
- 来源
source
获取表格。 response
获取表单响应。
var thisResponse = e.response.getItemResponses();
var gender = thisResponse[0].getResponse();
Logger.log('gender: ' + gender);
我的 Sheet 中有三列,其中 Google 表单存储响应数据:性别、姓名和电子邮件。 如果用户发送性别字段值等于 "Male" 的表单,我想将此响应存储到名为 "Males" 的现有 sheet。 这是我的解决方案(我已经为它添加了特殊触发器,这里是事件处理器实现),但它不起作用:
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);
}
}
表单提交事件对象没有 values
属性。 On Form Submit 事件对象只有 3 个属性。
- 授权模式
- 回应
- 来源
source
获取表格。 response
获取表单响应。
var thisResponse = e.response.getItemResponses();
var gender = thisResponse[0].getResponse();
Logger.log('gender: ' + gender);