Как отправлять электронные письма с помощью цикла for в google script? - PullRequest
0 голосов
/ 06 ноября 2019
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  // First row of data to process
  var numRows = 2000;   // Number of rows to process
  // Fetch the range of cells A2:B3
  var dataRange = sheet.getRange(startRow, 1, numRows, 2)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[0];  // First column
    var message = row[1];       // Second column
    var subject = "Sending emails from a Spreadsheet";
    MailApp.sendEmail(emailAddress, subject, message, {noReply:true});
  }
}

Здесь я хочу отправить C2, D2, E2, F2 построчные данные в A2 и C3, D3, E3, F3 построчные данные в A3, и цикл должен выполняться для всех строк в листе.

У меня есть скрипт, который отправляет всем тело общего предмета.

enter image description here Но этот скрипт не помогает решить мою проблему.

Может кто-нибудь помочь мне с отправкой данных по указанному шаблону

1 Ответ

1 голос
/ 07 ноября 2019

Попробуйте использовать это:

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).

Кроме того, при построении тела сообщения можно использовать цикл, но я не уверен, что этостоило того. Если бы было еще много столбцов, это имело бы смысл.

Кроме того, вы пытались использовать для ... в , что не рекомендуется для циклического перемещения по массивам, и вы не использовалиправильный синтаксис.

Скажите, подходит ли вам это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...