Отправить письмо из Google Spreasheet не работает - PullRequest
0 голосов
/ 20 марта 2019

У меня есть форма Google, прикрепленная к электронной таблице.Каждый раз данные отправляются через форму в электронную таблицу.Тогда электронная таблица должна автоматически отправить электронное письмо нескольким лицам, но оно не работает.

Вот мой код:

function myFunction(row) {
  var sheets = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = sheets.getSheets()[0]; // Form Responses 1
  var columnName = sheet.getRange("A1:S1").getValues();
  var dataRange = sheet.getRange(row);
  var data = dataRange.getValues();

  var responseObj = {};
  var carId = "";

  for (var i = 2; i < columnName[0].length; i++) {
    var key = columnName[0][i];
    var value = dateFormat(data[0][i],key);
    responseObj[key] = value;
    if(key === "Car ID"){
      carId = value;
    }
  }

  var htmlBodyLoc = doGet(responseObj);

  MailApp.sendEmail({
    to: 'person.one@gmail.com,person.two@gmail.com,person.three@gmail.com',
    subject:'Car Inspection - ' + outletId + ' '  + new Date(), 
    htmlBody: htmlBodyLoc,
  });
}

Я действительно получаю сообщение об ошибке в этой строке: var dataRange = sheet.getRange (row);

Спасибо.

1 Ответ

0 голосов
/ 20 марта 2019

У вас есть 4 способа вызова sheet.getRange()

getRange(row, column) Это для отдельных ячеек диапазонов.Если вы из VBA, это наиболее приближенный к рабочему листу. Ячейки

getRange(row, column, numRows) Таким образом, вы можете создать диапазон одиночных столбцов и нескольких строк, иногда полезных

getRange(row, column, numRows, numColumns) Этоэто путь, программно.Например, sheet.getRange(1,1,2,2) даст вам диапазон A1: B2

И, наконец, есть getRange(a1notation), который вы можете использовать, например sheet.getRange("A1:B2")

Если вы пытаетесь получить одну ячейку данных, может быть, вы можете просто изменить var dataRange = sheet.getRange(row); на var dataRange = sheet.getRange(row, yourFixedColumn); yourFixedColumn, являющийся интегралом с индексом 1 для столбца Например столбец A = 1 В противном случае вы должны изменить строку переданного аргумента на что-то, что соответствует методам, перечисленным выше.

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