首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于到期日的AutoEmail使用谷歌脚本的-_Reminder邮件

基于到期日的AutoEmail使用谷歌脚本的-_Reminder邮件
EN

Stack Overflow用户
提问于 2020-04-16 15:11:37
回答 1查看 36关注 0票数 0

Snapshot of the google spreadsheet

代码语言:javascript
复制
 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("yyy@gmai.com", 
        "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.

我只想要

代码语言:javascript
复制
Don't Forget:1231 is due on Sun Feb 09 2020 which is -67 days

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

另外,当邮件发送时,详细信息可以是表格格式吗?(需要编写代码)

EN

回答 1

Stack Overflow用户

发布于 2020-04-16 16:36:43

您可以设置从工作表中获得的日期的格式,以便它只使用dd-MM-yyyy。为此,请使用Date()方法和一个Utitilies.formatDate的应用程序脚本。

例如:

代码语言:javascript
复制
  var newDate = new Date(columnD[i][0]);
  var reminder = Utilities.formatDate(newDate, "IST", "dd-MM-yyyy");

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61244586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档