Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 当手机是某种颜色时触发电子邮件?_Google Apps Script_Google Sheets_Google Apps Script Editor - Fatal编程技术网

Google apps script 当手机是某种颜色时触发电子邮件?

Google apps script 当手机是某种颜色时触发电子邮件?,google-apps-script,google-sheets,google-apps-script-editor,Google Apps Script,Google Sheets,Google Apps Script Editor,我对这方面的知识非常有限。这么少,我甚至不应该称之为“知识” 这就是我想做的: 我有一个日期栏,指的是发送日期。如果日期已过,单元格将变为红色(#a33838)。如果该列中的某个单元格变为红色,我想发送一封电子邮件,这样我就知道该单元格尚未发送,需要发送。 我还希望电子邮件保存单元格所在行的信息 我一直在浏览论坛,我想我需要这两个不同的帖子: 如果有人知道这样做的方法,那真是救命稻草! 非常感谢。此代码将在您需要的方面帮助您 var EMAIL_ADDRESS = "email@d

我对这方面的知识非常有限。这么少,我甚至不应该称之为“知识”

这就是我想做的: 我有一个日期栏,指的是发送日期。如果日期已过,单元格将变为红色(#a33838)。如果该列中的某个单元格变为红色,我想发送一封电子邮件,这样我就知道该单元格尚未发送,需要发送。 我还希望电子邮件保存单元格所在行的信息

我一直在浏览论坛,我想我需要这两个不同的帖子:

如果有人知道这样做的方法,那真是救命稻草!
非常感谢。

此代码将在您需要的方面帮助您

var EMAIL_ADDRESS = "email@domain";
var SUBJECT = "Passed dates";
var message = "";

function alertDate() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // get the sheet where values are
  var date_col = sheet.getRange(1, 1, sheet.getLastRow()); // get the column with the dates
  var dates = date_col.getValues();
  var row = 0;
  for(var i = 0; i < dates.length; i++){ // iterate over all dates 
    if( dates[i] < Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy")){ // check if date already passed
      date_col.getCell(i + 1, 1).setBackground("#A33838"); // change cell´s color
      row = i + 1;
      message += "This date " + dates[i] + " on row " + row.toString() + " has already passed\n"; // build message to send
    }
  }
  MailApp.sendEmail(EMAIL_ADDRESS, SUBJECT, message); // send email
}


没有直接执行此操作的触发器。不过,您可以使用基于时间的触发器在一天中偶尔搜索这些更改。您不需要进行颜色检查。只需做日期检查-你需要自己做这件事
Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy")