[英]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.