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