繁体   English   中英

如果Google表单中写入了特定的值,请发送电子邮件

[英]Send email if certain value is written in Google Forms

我正在使用Gforms,我需要向“朋友”发送电子邮件。当最后提交的表单在“ J”列中具有某个值时,在本例中为“ Roberto”。 这是我的剧本。 但这似乎不起作用,以表格形式提交该值时我没有收到电子邮件。 我确实设置了触发器以在提交表单时运行脚本。

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");
  }
}

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

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

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

如果我们想根据字母来计算列号,可以这样:

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

还有一件事-如果这是您的脚本,并且您希望将电子邮件发送给您,则可以使用会话服务轻松获取自己的电子邮件。 这也使您的脚本更易于共享。

因此,这就是您所需要的:

function myNotification(e) {
  if( e.values[9] == "Roberto" ) {
      var email = Session.getUser().getEmail();
      MailApp.sendEmail(email, "Test", "Yes is Roberto");
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM