Отправить письмо из G-Sheets через 4 недели - PullRequest
0 голосов
/ 03 мая 2018

Я использую Google Sheets и пытаюсь отправить себе электронное письмо через 4 недели после указанной даты с информацией в теле этого письма, извлеченной из определенной ячейки. Ячейка находится в той же строке (Col B), что и дата (Col Q). Я успешно выяснил проблему времени, но я просто не могу получить информацию из ячейки, чтобы перейти в тело письма.

Вот код, который у меня есть.

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getRange(9,17,31).getValues();
  var now = Date.now();
  for (var i = 0; i < data.length; i++) {
    var row = data[i];
    var date = new Date(row[0]);
    var remind_date = new Date(date.getTime() + 28 * 24 * 60 * 60 * 1000);
    var diff = now - remind_date;
    var case_name = row[2];
if ((diff >= 0) && (diff < 24 * 60 * 60 * 1000)) {
    GmailApp.sendEmail('myemail@me.com', 'Case Inquiry Reminder','Reminder, inquire about status of ', case_name);
    }

      }
}  

1 Ответ

0 голосов
/ 03 мая 2018

Первая часть

По вопросу упоминается, что дата указана в столбце Q, но вместо этого код получает столбец A.

var date = new Date(row[0]);

Может быть, правильный код

var date = new Date(row[16]);

В то время как некоторые методы Spreadsheet Service используют индекс на основе 1, массивы JavaScript используют индекс на основе нуля. Из-за этого индекс столбца Q равен 16.

Вторая часть

По той же причине, упомянутой ранее в отношении индексов JavaScript, как вы сказали, что вам нужно значение столбца B вместо

var case_name = row[2];

код должен быть

var case_name = row[1];

Ссылки

Третья часть

В следующей строке есть проблема

GmailApp.sendEmail('myemail@me.com', 'Case Inquiry Reminder','Reminder, inquire about status of ', case_name);

Он использует четыре аргумента, но четвертый не соответствует нужному типу. Может быть, вы собираетесь написать

GmailApp.sendEmail('myemail@me.com', 'Case Inquiry Reminder','Reminder, inquire about status of ' + case_name);

(заменить последнюю запятую , знаком плюс +)

Ссылки * +1051 *

sendEmail (получатель, тема, тело, параметры)

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