Google Sheets - отправка электронной почты на основе указанного c листа в электронной таблице - PullRequest
1 голос
/ 23 января 2020

Впервые в Google Scripts, поэтому я бьюсь над этим кодом начального уровня. Я хочу отправить электронное письмо на основе указанного c листа в электронной таблице. Вкладка или лист называется «Тест 2». В настоящее время это мой код.

/* Sends emails with data from the current spreadsheet.*/
    function sendEmails() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet();
      var startRow = 2; // First row of data to process
      var numRows = 2; // Number of rows to process
      var dataRange = getRange(startRow, 1, numRows, 2); // Fetch the range of cells A2:B6
      var data = dataRange.getValues(); // Fetch values for each row in the Range.
      for (var i in data) {
        var row = data[i];
        var emailAddress = row[0]; // First column
        var message = row[1]; // Second column
        var subject = 'THIS IS A TEST';
        MailApp.sendEmail(emailAddress, subject, message);
      }
    }

И сейчас выдает эту ошибку.

ReferenceError: "getRange" is not defined. (line 8, file "Code")

Как мне запустить его, ссылаясь на этот лист "Тест 2"?

Спасибо!

1 Ответ

0 голосов
/ 23 января 2020
  • Вы хотите избежать ошибки "getRange" is not defined..
  • Вы хотите извлечь значения из ячейки "A2: B6" листа Test 2.

Если мое понимание верно, как насчет следующей модификации?

От:

var dataRange = getRange(startRow, 1, numRows, 2);

До:

var dataRange = sheet.getSheetByName("Test 2").getRange("A2:B6");

Примечание:

  • В этом случае сначала найдите объект листа Test 2 и используйте метод getRange для объекта листа.
  • Я подумал, что a1Notation может подойти для вашей ситуации.

Ссылка:

Если я неправильно понял ваш вопрос, а это не то направление, которое вы хотите, я прошу прощения.

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