Автоматически определять дату, когда автоматически отправлять электронные письма в листах - PullRequest
0 голосов
/ 21 февраля 2020

В настоящее время я пытаюсь обновить пример кода, который поставляется вместе с автоматической электронной почтой Google, который находится здесь: Отправка электронных писем из электронной таблицы . Я не могу поделиться информацией о своей электронной таблице, но мне бы хотелось, чтобы она автоматически определяла дату, а не вводила go в сценарий и каждый раз меняла номер недели. Вот пример сценария:

/**
 * Sends emails with data from the current spreadsheet.
 */
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 2; // 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 (var 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);
  }
}

В моей электронной таблице есть строка, которая представляет собой номер недели с именем Week1, который находится в F1, и он подходит к 13-й неделе, которая является R1. В строках, которые go вниз, у меня есть дни недели. В моей текущей форме кода мне нужно вручную go изменить строку, в которой указан номер недели:

var upcomingWeekNumber = Week13;  // EDIT THIS PARAMETER BEFORE SENDING
var upcomingEquipmentList = Week13;  //  EDIT THIS PARAMETER BEFORE SENDING

Я бы хотел, чтобы код автоматически знал дату, когда я отправляю электронное письмо, есть ли способ сделать это, просто отредактировав исходный пример кода из учебника ?

1 Ответ

1 голос
/ 21 февраля 2020

Вы можете получить текущую дату с помощью метода javacsript. new Date ()

Если вы хотите узнать текущую календарную неделю, вы можете выполнить простой расчет, пример:

function myFunction() {
  var now = new Date();
  var start = new Date(now.getFullYear(), 0, 1);
  var calendarweek = Math.ceil( (((now - start) / 86400000) + start.getDay() + 1) / 7 );
  Logger.log(calendarweek);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...