簡體   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