Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如果某些值是用谷歌表单写的,则发送电子邮件_Google Apps Script_Google Sheets_Google Forms - Fatal编程技术网

Google apps script 如果某些值是用谷歌表单写的,则发送电子邮件

Google apps script 如果某些值是用谷歌表单写的,则发送电子邮件,google-apps-script,google-sheets,google-forms,Google Apps Script,Google Sheets,Google Forms,我正在使用Gforms,当最后提交的表单在“J”列中有某个值时,我需要向“朋友”发送电子邮件,在本例中为“Roberto”。这是我的剧本。但它似乎不起作用,当该值以表单形式提交时,我没有收到电子邮件。我确实设置了触发器,以便在提交表单时运行脚本 function myNotification() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var ranchE = e.range.getRow(); var Kjota = "J

我正在使用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");
  }
}

谢谢你,你太棒了,不仅给了我答案,我完全明白了为什么。非常感谢。"