У меня есть электронная таблица Google, которая отправляет информацию об ученике, содержащуюся в столбце, который запрашивается и объединяется с другого листа. Запрашиваемая информация отделяется возвратом каретки. Затем этот столбец отправляется по электронной почте семьям, запускаемым по формуле, которая вычисляет, сколько возвратов каретки должно быть в ячейке.
Об этой части я позаботился в самом листе. Мне нужна помощь по электронной почте столбца и поддержания формата ячейки. Я смог сделать это с помощью приведенного ниже кода, но он отправляет ВСЕ данные в столбце D в каждом письме. Мне нужно только отправить то, что находится в соответствующей строке для электронной почты.
Основная часть кода, которая доставляет мне неприятности, я думаю, заключается в следующем:
var OriginalString = SpreadsheetApp.getActive().getRange("D2:D").getValues();
var NewString = OriginalString.toString().replace(/\n/g, '<br>');
Любая помощь будет оценена!
function SendEmail3() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet3');
var startrow = 2;
var lastRow = ss.getLastRow();
var lastCol = 10;
var range = ss.getRange(2, 1, lastRow, lastCol);
var data = range.getValues();
for (var i = 0; i < data.length; i++) {
var row = data[i];
var AccountName = row[0];
var email = row[1];
var Parent = row[2];
var Consent = row[4];
var StudentData = row[3];
var CarriageReturns = row[6];
var Trigger = row[7];
var emailSent = row[8];
var subject = "Your Application";
var OriginalString = SpreadsheetApp.getActive().getRange("D2:D").getValues();
var NewString = OriginalString.toString().replace(/\n/g, '<br>');
var message = "<HTML><BODY><font size=4>" +
"<P>" + "Hello " + Parent + ','
+"<BR>
+"<BR>" + NewString + "<BR>"
+"</HTML></BODY>";
var recipientsTo = email;
if (AccountName.length > 0 && Trigger >= CarriageReturns && emailSent != 'EMAIL_SENT') {
MailApp.sendEmail({
subject: subject,
to: recipientsTo,
htmlBody: message
});
ss.getRange(startrow + i, 9).setValue('EMAIL_SENT');
}
}
}