基于截止日期的自动电子邮件-_使用Google脚本的提醒邮件

问题描述 投票:1回答:1

Snapshot of the google spreadsheet

 function emailReminder() {
  
    //For testing purposes
    //You can view the log by typing CTRL+E after you run the script. 
  Logger.log(msg);
  
  // grab the Google Sheet object
  var googleSheets = SpreadsheetApp.getActiveSpreadsheet();
  // activates the first sheet
  SpreadsheetApp.setActiveSheet(googleSheets.getSheets()[0]);
  // grabs the sheet
  var currentSheet = googleSheets.getActiveSheet();
  
  // find the last row
  var lastRow = currentSheet.getLastRow();
 
  // The first row starts at row 2 to account for headers
  var startRow = 2;
 
  // get E column data
  var range = currentSheet.getRange(2,5,lastRow-startRow+1,1 );
  var numRows = range.getNumRows();
  var remainingDays = range.getValues();
  
  // get A column data
  range = currentSheet.getRange(2, 1, lastRow-startRow+1, 1);
  var columnA = range.getValues();
  
  // get D column data
  range = currentSheet.getRange(2, 4, lastRow-startRow+1, 1);
  var columnD = range.getValues();
  
  var count = 0;
  var msg = "";
  
  // Loop column E
  for (var i = 0; i <= numRows - 1; i++) {
    var daysLeft = remainingDays[i][0];
    if(daysLeft < 1) {
      // Checks to see if a cell value in column E less than 1
      var reminder = columnA[i][0];
      **var reminderdate = columnD[i][0];**
             
      msg = msg + "* Don't Forget: "+reminder+" is due on **"+reminderdate+"** which is "+daysLeft+" days.\n";
      count++;
    }
  }
  
   // Loop column E
  for (var i = 0; i <= numRows - 1; i++) {
    var daysLeft = remainingDays[i][0];
    if(daysLeft == 1) {
      // Checks to see if a cell value in column E equals 1
      var reminder = columnA[i][0];
       
      msg = msg + "Don't Forget: "+reminder+" is due tomorrow.\n";
      count++;
    }
  }
  // For multiple email addresses, use a comma to separate each email.
  if(count) {
    MailApp.sendEmail("[email protected]", 
        "Article Reminder", msg);
  }
   
}

输出结果通过电子邮件发送给

Don't Forget:1231 is due onSun Feb 09 2020 00:00:00 GMT+0530 (India Standard Time) which is -67 days.

我只想要

Don't Forget:1231 is due on Sun Feb 09 2020 which is -67 days

在发送邮件时反映在输出中。

此外,详细信息可以采用表格格式吗?到目前为止,该格式在发送邮件时还没有发生。(需要编写相同的代码)

google-apps-script reminders
1个回答
1
投票

您可以格式化从工作表获取的日期,因此它仅使用dd-MM-yyyy。为此,请使用Date()方法和Apps脚本之一Utitilies.formatDate

例如:

  var newDate = new Date(columnD[i][0]);
  var reminder = Utilities.formatDate(newDate, "IST", "dd-MM-yyyy");

然后reminder将具有类似于11-Jan-2020的格式。

© www.soinside.com 2019 - 2024. All rights reserved.