在提交表单后,如何从谷歌电子表格中的给定列的最后一行获取数据?

时间:2012-10-08 09:44:21

标签: google-apps-script

我想根据最后一行中的数据向特定的人发送电子邮件,类似于vlookup函数。如果在表单中输入的数据是x,则将邮件发送给joe,如果数据是y将邮件发送到jack等。当没有活动范围时,就像在电子表格视图中一样,我对范围选择的工作原理感到困惑。

function sendEmails() 
{   
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var row = sheet.getLastRow();
  var data = sheet.getRange(row, 5).getValue();


 if (data == "xxx")
 {
   sendmail //i got this
 }

2 个答案:

答案 0 :(得分:0)

在电子表格未必打开的情况下(对表单提交做出反应),您最好使用这些方法访问表单:

  var ss = SpreadsheetApp.openById('the ID of the spreadsheet');
  var sh = ss.getSheets()[0];// access first sheet (0 indexed)
  var row = sh.getLastRow();
  var data = sh.getRange(row, 5).getValue();

答案 1 :(得分:0)

Serge -

我按照你的建议编写了这个脚本,只是用最后一行替换:

return sh.getRange(row, 5).getValue();

并将其放在我的电子表格中。但是,一旦新表单提交到达,电子表格中的单元格就不会更新...

应该做什么?