Google apps script 条件电子邮件的谷歌脚本

Google apps script 条件电子邮件的谷歌脚本,google-apps-script,Google Apps Script,我正在尝试编写一个脚本,根据模块(即空气、水)将电子邮件发送到不同的地址 function emailspecialist() { var sheet = SpreadsheetApp.openById("15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI"); var startRow = 2; var numRows = 1000; var dataRange = sheet.getRange("A1:G1000")

我正在尝试编写一个脚本,根据模块(即空气、水)将电子邮件发送到不同的地址

function emailspecialist() {
    var sheet = SpreadsheetApp.openById("15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI");
    var startRow = 2;
    var numRows = 1000;
    var dataRange = sheet.getRange("A1:G1000")
    var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
        var row = data[i];
        var module = row[4]
        if(module=="Air Quality"){
            var email="gooco.pm@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
        else if(module=="Water Quality"){
            var email="cedino.lar@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
        else if(module=="Chemicals Management"){
            var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
        else if(module=="Wastes Management"){
            var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
        else if(module=="EIA"){
            var email="walican.nsw@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
        else if(module=="Others"){
            var email="flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";
        }
    var requester=row[2];
    var group=row[3];
    var description=row[5];
    var completion=row[6];
    MailApp.sendEmail(email, requester, description);
   }}
功能emailspecialist(){
风险值表=电子表格应用程序openById(“15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI”);
var startRow=2;
var numRows=1000;
var dataRange=sheet.getRange(“A1:G1000”)
var data=dataRange.getValues();
对于(变量i=0;i
以下是我到目前为止所做的


希望有人能帮助我。提前感谢

如果此脚本是原始脚本,则将发送的邮件数为“A1:G1000”定义的“data.length”。如果要使用“module”的值发送电子邮件,“MailApp.sendmail()”应放在“If”中。那么这个脚本呢

function emailspecialist() {
  var sheet = SpreadsheetApp.openById("15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI");
  var startRow = 2;
  var numRows = 1000;
  var dataRange = sheet.getRange("A1:G1000")
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    if(module=="Air Quality"){
      var email="gooco.pm@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
    else if(module=="Water Quality"){
      var email="cedino.lar@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
    else if(module=="Chemicals Management"){
      var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
    else if(module=="Wastes Management"){
      var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
    else if(module=="EIA"){
      var email="walican.nsw@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
    else if(module=="Others"){
      var email="flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
    else {
      var email = "";
    }
    if (email.length > 0) {
      var row         = data[i];
      var requester   = row[2];
      var group       = row[3];
      var module      = row[4];
      var description = row[5];
      var completion  = row[6];
      MailApp.sendEmail(email, requester, description);    
    }
  }
}
功能emailspecialist(){
风险值表=电子表格应用程序openById(“15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI”);
var startRow=2;
var numRows=1000;
var dataRange=sheet.getRange(“A1:G1000”)
var data=dataRange.getValues();
对于(变量i=0;i0){
var行=数据[i];
var请求程序=行[2];
var组=第[3]行;
var模块=第[4]行;
变量说明=第[5]行;
var完成=第[6]行;
MailApp.sendEmail(电子邮件、请求者、描述);
}
}
}

我正在尝试设置emailSent功能,以便已通过电子邮件发送的条目不会重复。这是我编辑过的版本,暂时不起作用

 function emailspecialist() {
 var sheet =  SpreadsheetApp.openById("16OxeGOCb7wur4k0qc0dMWbUt_tSvf4elfefZIpqWBSc");
 var startRow = 2;
 var numRows = 1000;
 var dataRange = sheet.getRange("A1:G1000")
 var data = dataRange.getValues();
 var emailSent = "Email Sent";
 for (var i = 0; i < data.length; ++i) {
  var module = data[i][4];
  if(module=="Air Quality"){
  var email="gooco.pm@energy.com.ph";}
  else if(module=="Water Quality"){
     var email="cedino.lar@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
   else if(module=="Chemicals Management"){
     var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
   else if(module=="Wastes Management"){
     var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
   else if(module=="EIA"){
     var email="walican.ns@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
   else if(module=="Others"){
     var email="flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
   else {
    var email = "";
}
  if (email.length > 0) {
  var row         = data[i];
  var requester   = row[2];
  var group       = row[3];
  var description = row[5];
  var completion  = row[6];
  var isEmailSent = row[7];
  if (isEmailSent != emailSent) {
  MailApp.sendEmail(email, requester, description);
  sheet.getRange(startRow + i, 7).setValue(emailSent);  
  }}
 }
}
功能emailspecialist(){
风险值表=电子表格app.openById(“16OxeGOCb7wur4k0qc0dMWbUt_tSvf4elfefZIpqWBSc”);
var startRow=2;
var numRows=1000;
var dataRange=sheet.getRange(“A1:G1000”)
var data=dataRange.getValues();
var emailSent=“Email Sent”;
对于(变量i=0;i0){
var行=数据[i];
var请求程序=行[2];
var组=第[3]行;
变量说明=第[5]行;
var完成=第[6]行;
var isEmailSent=第[7]行;
如果(isEmailSent!=emailSent){
MailApp.sendEmail(电子邮件、请求者、描述);
sheet.getRange(startRow+i,7).setValue(emailSent);
}}
}
}

欢迎使用堆栈溢出!我推荐你,非常感谢。这真的很有帮助。它立刻解决了问题。我在循环中插入了var模块,因此它将根据条件进行识别。顺便问一下,我如何防止重复所有条目?所有条目是什么?我发布了您给我的脚本的修订版本。我正在尝试包含一个emailSent函数这是一个新问题吗?你应该把这个问题,而不是一个答案,因为这并不能解决问题,根据你自己的话。请更具体地说明在这种特殊格式中什么不起作用。到目前为止,对于每一行,您应该发送一次电子邮件,但是如果有多个条目相同,则会触发两次,除非您只允许发送一次电子邮件。在这种情况下,您可以简单地使用一个变量来计算每个地址的电子邮件发送次数。