我可以使用带有OnFormSubmit触发器的getActiveRange方法吗?

时间:2016-01-24 11:03:04

标签: google-apps-script google-sheets

我正在使用表单中的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);


}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

“表单提交”触发器可以与表单或电子表格一起使用。如果您将其与表单一起使用,则表单中没有与该表单关联的活动表单。但即使您在工作表中放入了“On Form Submit”触发器,也可以在工作表关闭时运行“On Form Submit”触发器。因此,如果工作表已关闭,则没有活动范围。您可能需要一种方法来确定与当前表单提交相关联的响应。因此,您需要执行诸如将响应ID记录到工作表中,然后获取正在提交的响应的响应ID,获取所有数据,循环并将当前响应ID与每行中的响应ID进行比较的操作。表格。尝试使用时间戳来识别正确的行可能是不可取的。