Google apps script 如何根据谷歌电子表格单元格中的日期向不同的收件人发送电子邮件

Google apps script 如何根据谷歌电子表格单元格中的日期向不同的收件人发送电子邮件,google-apps-script,Google Apps Script,请在这方面帮助我,我一直在努力寻找上周的剧本,但取得了积极的成果 我的要求如下: 我想向从加入之日起已满180天(DOJ>180)的员工发送服务确认电子邮件,在发送邮件后,其他栏中的状态应更新为“已发送\已确认”。我不想每天运行那个脚本,它应该根据系统日期自动运行。这似乎是一个简单的要求,但它可以节省很多时间 我在下面附上一个示例数据链接 任何数据样本或要求澄清,请回复 如果有人能帮上忙,我们将不胜感激 问候 Gopik这是您的基本入门脚本。我没有调试任何代码,尽管编辑器继续进行并保存了它,没

请在这方面帮助我,我一直在努力寻找上周的剧本,但取得了积极的成果

我的要求如下:

我想向从加入之日起已满180天(DOJ>180)的员工发送服务确认电子邮件,在发送邮件后,其他栏中的状态应更新为“已发送\已确认”。我不想每天运行那个脚本,它应该根据系统日期自动运行。这似乎是一个简单的要求,但它可以节省很多时间

我在下面附上一个示例数据链接

任何数据样本或要求澄清,请回复

如果有人能帮上忙,我们将不胜感激

问候
Gopik

这是您的基本入门脚本。我没有调试任何代码,尽管编辑器继续进行并保存了它,没有出现任何问题。我不知道你想让电子邮件说什么。它基于您提供的电子表格中的列位置。我把那张纸命名为“确认邮件”

function sendConfirmationEmails()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sht = ss.getSheetByName('ConfirmationEmails');
  var datrng = sht.getDataRange();
  var datAry = rng.getValues();
  var day = 86400000;
  var today = new Date().getTime();
  for(var i = 0;i<datAry.length;i++)
  {
    if(datAry[i][5] == 'Not Confirmed')
    {
      if(isDate(datAry[i][3]) && (((today - new Date(datAry[i][3]).getTime())/day) > 150 ))
      {
        if(GmailApp.sendEmail(datAry[i][2], 'Confirmation Email', 'It\'s been greater than 150 days since you\'ve joined our organization'))
        {
          datAry[i][5]='Confirmed';//You might like to write to the cells here instead of waiting until the end.
          datAry[i][4]=new Date();
        }
        
      }
  
    }
  }
  datrng.setValues(datAry);
}

function isDate (x)  
{ 
  return (null != x) && !isNaN(x) && ("undefined" !== typeof x.getDate); 
}
函数sendConfirmationEmails()
{
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sht=ss.getSheetByName(“确认邮件”);
var datrng=sht.getDataRange();
var datAry=rng.getValues();
var日=86400000;
var today=new Date().getTime();
对于(var i=0;i 150))
{
if(GmailApp.sendmail(datAry[i][2],“确认邮件”,“您加入我们的组织已经超过150天了”))
{
datAry[i][5]=“已确认”;//您可能希望在此处写入单元格,而不是等到结束。
数据项[i][4]=新日期();
}
}
}
}
数据设置值(数据仓库);
}
函数isDate(x)
{ 
return(null!=x)&&!isNaN(x)&((“未定义”!==typeof x.getDate);
}

至于设置每天运行的触发器。转到“代码编辑器”的“编辑”菜单设置触发器,您可能希望阅读API中的触发器。

FYI您的共享电子表格没有启用“任何具有链接的人都可以查看”权限。我刚刚启用了它,非常抱歉。嘿,这真的很有帮助。我已经根据我的要求修改了代码,并且工作得很好。非常感谢你的努力。