我正在与Gforms合作,我需要向“A Friend”发送电子邮件当提交的最后一个表单在“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");
}
}
答案 0 :(得分:0)
要访问发送到您的函数的事件信息,您需要包含e
作为参数。请参阅Understanding Events以了解传递给触发器功能的信息。
例如,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");
}
}