Я относительно новичок в Google Apps Script и использовал очень простой скрипт, который я создал около года назад, который запускается, когда пользователь отправляет данные через форму Google. Сценарий работает отлично до примерно в мае прошлого года, и я пытался понять, что произошло, когда я не внес никаких изменений в свой код. Я искал много разных мест и не могу найти, что не так.Получение активной строки электронных таблиц
В принципе, у меня есть форма, которую пользователи заполняют, а затем отправляют. По представлению сценарий берет входные данные из самой последней строки и сохраняет их в переменных, которые затем будут собраны в подтверждение сообщения электронной почты, которое подтверждает входные данные каждого пользователя.
Вот мой код:
function acknowledgement() {
var ActiveSheet = SpreadsheetApp.getActiveSheet();
var ActiveRow = ActiveSheet.getActiveRange().getRow();
var emailAddy = ActiveSheet.getRange("E"+ActiveRow).getValue();
var locvar = ActiveSheet.getRange("C"+ActiveRow).getValue();
var employeevar = ActiveSheet.getRange("B"+ActiveRow).getValue();
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Variables");
var contactvar = sh.getRange("A2").getValue();
var subject = sh.getRange("B2").getValue();
var contactvar2 = sh.getRange("C2").getValue();
var linebrk = "<br />";
var msg = "Dear " + employeevar + ","
+ linebrk + linebrk
+ "This confirms that you have completed your review of the latest security presentation."
+ linebrk + linebrk
+ "Your location number is " + locvar + "."
+ "Thank you very much for your participation."
+ linebrk + linebrk
+ contactvar;
var msghtml = '<p>'+msg+'</p>';
var advancedargs = {cc:contactvar2, htmlBody:msghtml};
MailApp.sendEmail(emailAddy, subject, msg, advancedargs);
};
Что сейчас происходит не в том, что мой код больше не захватывая номера текущей строки (т.е. активной строки, который был только представлен пользователем). Вместо этого он просто захватывает верхнюю строку листа (т. Е. Заголовки строк, такие как «имя сотрудника», «адрес электронной почты» и т. Д.) И присваивая этим заголовкам строки переменным, что приводит к ошибке при попытке отправить подтверждение по электронной почте , Например, моя переменная emailAddy будет содержать «Адрес электронной почты», в результате чего сбой sendEmail.
Любая обратная связь будет оценена!
Martin
Я полагаю, что вы установили триггер 'on Form Submit' на эту функцию подтверждения? Второй вопрос: есть ли что-нибудь в вашем листе ниже строки последнего ответа? –
Привет, Serge, да, я установил триггер onFormSubmit. И нет ничего ниже последнего ответа. Строки были добавлены через форму Google без каких-либо проблем, но я просто не получал подтверждения по электронной почте, и пользователи не представили свои данные. Благодаря! – Martin