Подробности:
Я создал форму Google, которая после заполнения заполняет данные формы в новой строке в соответствующем листе Google, к которому прикреплена форма.
Я настроил Триггер так, чтобы на OnFormSubmit генерировалось электронное письмо с содержимым формы. Это работает как задумано.
Затем получатель этого электронного письма направляется в Google Sheet и просит написать некоторые вещи в столбцах справа от формы данных / строки, на которую ссылается электронное письмо. В конце они пишут «Да» в этой строке, если данные этой строки готовы двигаться дальше в процессе.
Я также настроил Trigger OnEdit, так что если этот предыдущий пользователь написал «Да 'в их строке, как объяснено выше, генерируется другое электронное письмо.
Моя проблема:
Если несколько форм отправляются подряд, например, формаданные заполняют строки 2, 3 и 4 в Google Sheet, и кто-то вводит «Да» в строке 2, триггер OnEdit генерирует электронное письмо, но включает данные из последней строки, строки 4.
Вопрос:
Как это сделать, если в строке 2 введено «Да», то данные из строки 2 отправляются по электронной почте, даже если в форме уже есть новые данные формыСтроки 3, 4, 5 и т. Д.
Некоторые примеры кода из моего скрипта:
var ss = SpreadsheetApp.getActiveSheet();
var Avals = ss.getRange("A1:A").getValues(); // identifies latest row submitted to let...
var Alast = Avals.filter(String).length; // ...email recipient know which row to look at
var values = SpreadsheetApp.getActiveSheet();
var row = values.getLastRow();
var date = Utilities.formatDate(new Date(), "GMT+1", "MM/dd/yyyy");
var endDate = date;
var Title = values.getRange(row, 2).getValue(); // examples of how I'm pulling the data
var Supervisor = values.getRange(row, 3).getValue();
var Approval1 = values.getRange(row, 17).getValue();
var Approval2 = values.getRange(row, 18).getValue();
// to save space I'm not posting the emailbody here - which works as intended using htmlbody
// further down in the code, as part of the OnEdit trigger, this is the if statement
if(Approval1 == "Yes" && Approval2 == "")
{
MailApp.sendEmail({
to: emailRecipients,
replyTo: replyToSubmitter,
subject: emailSubject1,
htmlBody: emailBodyFirstApproved})
;
}
else if(Approval1 == "Yes" && Approval2 == "Yes")
{
MailApp.sendEmail({
to: emailRecipients,
replyTo: replyToSubmitter,
subject: emailSubject2,
htmlBody: emailBodyBothApproved})
;
Спасибо огромное за чтение и миллион за помощь!