Запуск скрипта Google из дублированной таблицы - PullRequest
0 голосов
/ 24 января 2020

Я создал электронную таблицу Google, которая включает в себя некоторый базовый сценарий c, который отправляет электронное письмо кому-либо, когда ему необходимо выполнить задачу. Сценарий работает на исходном листе, но когда я дублирую лист и ничего не меняю, кроме дат, в которых скрипт больше не работает.

Я не получаю никаких ошибок, электронные письма просто не отправляются.

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

Большое спасибо!

    function myFunction() {
    var date = new Date();
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    var FormattedTodayDate = Utilities.formatDate(date,'GMT-0600','MM/dd/yyyy')

    //Here we get all the spreadsheets from the spreadsheet app
    var spreadSheets = SpreadsheetApp.getActiveSpreadsheet();
    //Here we pick out the first spreadsheet. 0 is the first tab of the spreadsheet "Active Sheet"
    var currentSheet = spreadSheets.getSheets()[0];


   //Here we set up where on the sheet we want to get the data
   var startRow = 3;
   var numRows = currentSheet.getLastRow()-1;
   var numCols = currentSheet.getLastColumn();

   //We use those numbers to find a range throughout the table (A2 - H* etc) where we want to grab the data from
   var dataRange = currentSheet.getRange(startRow, 1, numRows, numCols);

   //Using the data range, grab all the values
   var data = dataRange.getValues();

  for(i in data){
  var row = data[i];
  var reminderDate = new Date(row[1]);
  var dueDate = new Date(row[3]);
  var FormattedReminderDate = Utilities.formatDate(reminderDate,'GMT-0600', 'MM/dd/yyyy')
  var FormattedDueDate = Utilities.formatDate(dueDate,'GMT-0600', 'MM/dd/yyyy')
  if(row[0] === ''){

  //      Logger.log(FormattedTodayDate);
  //      
  //      Logger.log(FormattedReminderDate);
  //      
  //      Logger.log(FormattedReminderDate == FormattedTodayDate);

  if(FormattedReminderDate == FormattedTodayDate){
      MailApp.sendEmail({
        to: row[7],
        subject: row[4] + " task due on " + FormattedDueDate,
        htmlBody: "The following " + row[4] + " task is coming due on <b>" + FormattedDueDate + "</b> : <br/> <br>" + row[5] + "<br> </br>Go to Google Spreadsheet for more details: https://docs.google.com/spreadsheets/d/1jIBX5By1jhro1V-gHXPPlhIOXDLut6CMvaq92uW5bFw/edit#gid=0&range=" + row[8] + "<br/><br> Please remember to add the word 'done' to the 'done?' column when you complete this task.",
      })
  }
  if(FormattedDueDate == FormattedTodayDate){
      MailApp.sendEmail({
        to: row[7],
        subject: row[4] + " task due TODAY",
        htmlBody: "The following " + row[4] + " task has not been completed and is due TODAY: <br/> <br>" + row[5] + "<br> </br>Go to Google Spreadsheet for more details: https://docs.google.com/spreadsheets/d/1jIBX5By1jhro1V-gHXPPlhIOXDLut6CMvaq92uW5bFw/edit#gid=0&range=" + row[8] + "<br/><br> Please remember to add the word 'done' to the 'done?' column when you complete this task.",
      })
  }

} 
}
}

1 Ответ

2 голосов
/ 24 января 2020

Спасибо всем. Оказывается, эта проблема была вызвана тем, что наш спам-фильтр блокировал уведомления.

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