Попробуйте использовать это:
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
// Get all values in the spreadsheet
var data = sheet.getDataRange().getValues();
// Loop through all rows with data:
for(var i = 1; i < data.length; i++) {
var row = data[i];
var emailAddress = row[0]; // Get email address
// Build message body (you could also do this with a loop):
var message = row[2] + "\n" + row[3] + "\n" + row[4] + "\n" + row[5]
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message, {noReply:true});
}
}
Этот код берет все значения на листе и проходит по ним циклически, поэтому вам не нужно указывать количество строк, через которые вы хотите пройти. Вы должны указать, с какой строки начинать (в данном случае второй, следовательно, var i = 1
).
Кроме того, при построении тела сообщения можно использовать цикл, но я не уверен, что этостоило того. Если бы было еще много столбцов, это имело бы смысл.
Кроме того, вы пытались использовать для ... в , что не рекомендуется для циклического перемещения по массивам, и вы не использовалиправильный синтаксис.
Скажите, подходит ли вам это.