向选中的位置发送电子邮件

问题描述 投票:0回答:1

[我希望可以使用按钮“特使ID”仅将ID电子邮件发送到已检查的行:user2,user4和user5。

谢谢。

enter image description here

 function EnvoiIDCourriel() {

  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Liste").activate();
  var SS = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var LR = SS.getLastRow()

  var TemplateTexte = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Template").getRange(1, 1).getValue();
  //Permet d'utiliser le corps du courriel qui se trouve dans l'onglet Template


  //Logger.log(NomCandidat);

  //Cette ligne permet de passer à travers de toutes les lignes inscrites
  for (var i = 2;i<=LR;i++){

       var CurrentEmail = SS.getRange(i, 4).getValue();
       var ID = SS.getRange(i, 3).getValue();
       var NomCandidat = SS.getRange(i, 2).getValue();
       var Processus = SS.getRange(i, 5).getValue();
       //var Img = DriveApp.getFileById(1pRBZnWRZcKMFll1OouC8eer2V97e8tT6).getBlob();
       //Logger.log(Img);

       var CorpsMessage = TemplateTexte.replace("{Nom}",NomCandidat).replace("{ID}",ID).replace("{Processus}",Processus);
       var ObjetCourriel = "Code d'identification: " + ID + " - Test en ligne"

       //Logger.log(ObjetCourriel);

       GmailApp.sendEmail(CurrentEmail, ObjetCourriel, CorpsMessage)

    }

}
google-apps-script gas
1个回答
0
投票

此修改如何?

修改点:

  • 在您的脚本中,从for循环中的Spreadsheet检索值。为了降低处理成本,在此修改中,首先,从单元格“ A2:E”中检索值,然后使用检索到的值发送电子邮件。
  • [通过getValuegetValues检索复选框的值时,值的类型为布尔型。

当上述几点反映到您的脚本时,它将变成如下。

修改的脚本:

从:
for (var i = 2;i<=LR;i++){

     var CurrentEmail = SS.getRange(i, 4).getValue();
     var ID = SS.getRange(i, 3).getValue();
     var NomCandidat = SS.getRange(i, 2).getValue();
     var Processus = SS.getRange(i, 5).getValue();
     //var Img = DriveApp.getFileById(1pRBZnWRZcKMFll1OouC8eer2V97e8tT6).getBlob();
     //Logger.log(Img);

     var CorpsMessage = TemplateTexte.replace("{Nom}",NomCandidat).replace("{ID}",ID).replace("{Processus}",Processus);
     var ObjetCourriel = "Code d'identification: " + ID + " - Test en ligne"

     //Logger.log(ObjetCourriel);

     GmailApp.sendEmail(CurrentEmail, ObjetCourriel, CorpsMessage)

  }
至:
var values = SS.getRange("A2:E" + SS.getLastRow()).getValues();
values.forEach(([check, NomCandidat, ID, CurrentEmail, Processus]) => {
  if (check === true) {
    var CorpsMessage = TemplateTexte.replace("{Nom}",NomCandidat).replace("{ID}",ID).replace("{Processus}",Processus);
    var ObjetCourriel = "Code d'identification: " + ID + " - Test en ligne";
    GmailApp.sendEmail(CurrentEmail, ObjetCourriel, CorpsMessage);
  }
});

参考:

© www.soinside.com 2019 - 2024. All rights reserved.