我正在使用表单中的Google Apps脚本,并尝试使用getActiveRange
函数,但它似乎无法使用OnFormSubmit触发器。 (见下面的代码)
function offSetFunction() {
var s = SpreadsheetApp.getActiveSheet();
var ss = s.getActiveRange();
var rowOfProblem = ss.getRow();
var columnOfProblem = ss.getColumn();
var allText = s.getRange(rowOfProblem, columnOfProblem ).getValue();
var recipient = "meEmail";
var subject1 = ss.offset(0,-8).getValue();
var subject9 = ss.offset(0,-7).getValue();
var subject2 = ss.offset(0,-6).getValue();
var subject3= ss.offset(0,-5).getValue();
var subject4 = ss.offset(0,-4).getValue();
var subject5 = ss.offset(0,-3).getValue();
var subject6 = ss.offset(0,-2).getValue();
var subject7 = ss.offset(0,-1).getValue();
var subject8 = ss.offset(0,0).getValue();
var body = subject1 + "," + subject9 + "," + subject3 + "," + subject4 + "," +subject5 + "," + subject6 + "," + subject7 + "," + subject8 + "," + subject9;
MailApp.sendEmail(recipient,"the problem that" + subject1 + "submitted, was fixed", body);
}
任何帮助将不胜感激。
答案 0 :(得分:1)
“表单提交”触发器可以与表单或电子表格一起使用。如果您将其与表单一起使用,则表单中没有与该表单关联的活动表单。但即使您在工作表中放入了“On Form Submit”触发器,也可以在工作表关闭时运行“On Form Submit”触发器。因此,如果工作表已关闭,则没有活动范围。您可能需要一种方法来确定与当前表单提交相关联的响应。因此,您需要执行诸如将响应ID记录到工作表中,然后获取正在提交的响应的响应ID,获取所有数据,循环并将当前响应ID与每行中的响应ID进行比较的操作。表格。尝试使用时间戳来识别正确的行可能是不可取的。