2013-07-05 1 views
0

Я работаю с Gforms, и мне нужно отправить электронное письмо на адрес «Друг». Когда последняя форма, представленная в столбце «J», имеет определенное значение, в данном случае: «Роберто». Это мой сценарий. Но, похоже, он не работает, я не получаю адрес электронной почты, когда это значение передается в форме. Я установил триггер для запуска скрипта при отправке формы.Отправить электронное письмо, если определенное значение написано в Google Forms

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 = "[email protected]"; 
    if(value == "Roberto") { 
     MailApp.sendEmail(email, "Test", "Yes is Roberto"); 
    } 
} 

ответ

0

Чтобы получить доступ к информации о событии, которое отправляется в вашу функцию, вам необходимо включить e в качестве параметра. См. Understanding Events, чтобы узнать информацию, переданную вашей триггерной функции.

Например, e.values - это массив значений, которые были представлены формой, которая вызвала функцию. Вам не нужно читать электронную таблицу - информация передается вам бесплатно.

Поскольку это массив, e.values начинается нумерация с 0. Таким образом, чтобы получить доступ к колонке J, вам необходимо элемент 9. (J является десятым столбец таблицы.)

Если мы хотим, чтобы вычислить число столбцов из букв , мы могли бы сделать это следующим образом:

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

еще одна вещь - если это ваш сценарий, и вы хотите, чтобы сообщения, отправленные вам, это легко получить собственный адрес электронной почты с помощью службы Session. Это делает ваш сценарий проще для обмена.

Итак, вот все, что вам нужно:

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

Спасибо, вы удивительные, не только дала мне ответ, я полностью узнал, почему. Спасибо!" – Josh