繁体   English   中英

填充某些列时向某些用户发送自动电子邮件 - 谷歌表

[英]Send automated email to certain users when certain column has been filled - google sheet

当特定列中的单元格已填充到谷歌表时,我试图向某些用户发送电子邮件通知。 我尝试使用推荐的脚本,但是当我执行脚本时,会为电子表格中的每一行发送一封电子邮件。 它应该如何工作:在我的电子表格中,有 44 列(从 A 到 AR),当指定列中的特定单元格被填充时,我想向特定的人发送电子邮件。 例如:当 V 列中的单元格已被填充时,我想向 Abc@gmail.com 发送电子邮件。 并希望在填充 AB 列中的单元格时向 bcd@gmail.com 发送电子邮件,依此类推。 我还希望正文电子邮件包含用户需要知道更改的哪一行(但我不知道此脚本)。

有人可以解释为什么我收到每一行的电子邮件并且脚本不起作用。 我看过其他帖子,但没有运气。 真的很感激一些帮助。 这是我的脚本。

function SendEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var lr = sheet.getLastRow();
for (var i=6;i<=lr;i++){     
   var rsh = sheet.getRange(i,21); 
   var wentao = sheet.getRange(i,27);
   var retail = sheet.getRange(i,28);
    

  sheet.getRange
  //Fetch values for each row in the Range. 
   var datarsh = rsh.getValues();   
     if(datarsh>0){
    var row = datarsh[i];
    var emailAddress = "abc@gmail.com";
    var message = "Hi RSH, ASM has filled a new Mi Shop request. Need your approval on the Mi Shop Request";
    var subject = "Pitch Mi Approval - Notification";
    MailApp.sendEmail(emailAddress, subject, message);
     }
   
    var datawentao = wentao.getValues();
    if (datawentao>0){   
    var row = datawentao[i];
    var emailAddress = "bcd@gmail.com";
    var message = "Hi Wentao, need your approval on Mi Shop Request in column ";
    var subject = "Pitch Mi Approval - Notification";
    MailApp.sendEmail(emailAddress, subject, message);
  }
  
    var dataretail = retail.getValues();
    if(dataretail>0){   
    var row = dataretail[i];
    var emailAddress = "cde@gmail.com";
    var message = "Hi Retail Team, Wentao has approved Mi Shop Request. Update the expansion progress in column ";
    var subject = "Pitch Mi Approval - Notification";
    MailApp.sendEmail(emailAddress, subject, message);
  }
}
}

试试这个:

function SendEmail() {
  const sh = SpreadsheetApp.getActiveSheet();
  const vs = sh.getRange(6, 20, sh.getLastRow() - 5, 9).getValues();
  vs.forEach((r, i) => {
    if (r[2]) {
      MailApp.sendEmail("abc@gmail.com", "Pitch Mi Approval - Notification", "Hi RSH, ASM has filled a new Mi Shop request. Need your approval on the Mi Shop Request");
    }
    if (r[7]) {
      MailApp.sendEmail("bcd@gmail.com", "Hi Wentao, need your approval on Mi Shop Request in column ", "Pitch Mi Approval - Notification");
    }
    if (r[8]) {
      MailApp.sendEmail("cde@gmail.com", "Hi Retail Team", "Wentao has approved Mi Shop Request. Update the expansion progress in column ", "Pitch Mi Approval - Notification")
    }
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM