0

I am working with Gforms and I need to send an email to "A Friend" When the last form submitted has in the "J" Column a certain value, in this case: "Roberto". This is my script. But it seems not to be working, I get no email when that value is submitted in a form. I did setup the trigger to run the script when a form is submitted.

function myNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var ranchE = e.range.getRow();
  var Kjota = "J";
  var rangex = Kjota + ranchE;
  var value = ss.getSheetByName("Respuestas de formulario").getRange(rangex).getValue();
  var email = "heregoes@myemail.com";
  if( value == "Roberto" ) {
      MailApp.sendEmail(email, "Test", "Yes is Roberto");
  }
}
4

1 回答 1

0

要访问发送到您的函数的事件信息,您需要将e其作为参数包含在内。请参阅了解事件以了解传递给触发函数的信息。

例如,e.values是由触发函数的表单提交的值数组。您无需阅读电子表格 - 信息免费提供给您。

由于它是一个数组,e.values从 0 开始编号。所以要访问 J 列,您需要元素 9。(J 是电子表格中的第 10 列。)

如果我们想从字母计算列号,我们可以这样做:

var Kjota = "J";
var colIndex = Kjota.charCodeAt(0) - 'A'.charCodeAt(0);  // colIndex = 9

还有一件事 - 如果它是您的脚本,并且您希望将电子邮件发送给您,那么使用 Session 服务很容易获得您自己的电子邮件。这也使您的脚本更易于共享。

所以,这就是你所需要的:

function myNotification(e) {
  if( e.values[9] == "Roberto" ) {
      var email = Session.getUser().getEmail();
      MailApp.sendEmail(email, "Test", "Yes is Roberto");
  }
}
于 2013-08-28T02:10:16.467 回答