Как автоматизировать отправку электронного письма, только если определенная ячейка находится в пределах текущей недели - PullRequest
0 голосов
/ 01 апреля 2019

Мне нужно отправить несколько строк и столбцов данных в одной сводке по электронной почте.

В идеале, исходя из того, что я понимаю, мне нужно отфильтровать результаты по падению ячейки на текущей неделе.

Мне удалось определить текущую неделю, но я не уверен, как интегрировать и фильтровать по ней в мой сценарий sendMail.

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

Row[1]

Row[2]

Row[3]

Row[1]

Row[2]

Row[3]

Row[1]

Row[2]

Row[3]

У меня проблемы с тем, что через несколько недель я могу отправить более 3 строк данных

Извиненияесли что-то из этого неясно, супер новичок в этом, но это нужно для рабочих целей.

/

/Defining the current week//

function getWeekDates() {
  var now = new Date();
  var dayOfWeek = now.getDay(); //0-6
  var numDay = now.getDate();



  var start = new Date(now); //copy
  start.setDate(numDay - dayOfWeek);
  start.setHours(0, 0, 0, 0);


  var end = new Date(now); //copy
  end.setDate(numDay + (7 - dayOfWeek));
  end.setHours(0, 0, 0, 0);

  return [start, end];
}

var [start, end] = getWeekDates();

console.log(start.toLocaleString(), end.toLocaleString());

function filterDatesByCurrentWeek(dates){
   var [start, end] = getWeekDates();
  return dates.filter(function(d) {return  +d >= +start && +d < +end});
}






function sendEmail1(event){
const ss = SpreadsheetApp.getActive().getSheetByName('Sheet1')
 const data = ss.getRange(“A1:E50 ").getValues();
   const row = ss.getDataRange().getValues();
  const currentColumn = event.range.columnStart;

  if (ss.getName() !== 'Sheet1' || currentColumn !== 4 )  
    return;
  if (!event.value.match(/^(Deployed)$/)) 
 return;

  Logger.log(row);
  Logger.log(row[5]);




  // Sending the email 


  var emailBody = "Hi" + "<br><br>" + "Test:" + " <strong> " + "<br>" + row[0] + "</strong> \n\n" 
  + "<br>" + "\n"+ "<strong>" + "Scores: "+ "</strong> \n"   +row[4] 
  + "<br>" + " <strong> " + "Description: " +"</strong> \n\n" +  row[2]  
  + "<br>" + "<strong>"+ "Number of Labels: " + "</strong> \n" + row[6]  
  + "<br><br>" + "Yours truly," + "<br>" + "Test"; 
    var subject = "Test";
    Logger.log("sending email");
  MailApp.sendEmail('Email', subject, emailBody, {htmlBody: emailBody, cc: 'Email'});
    Logger.log("email sent");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...