如何将唯一范围的单元格发送到列出的电子邮件?

时间:2018-10-26 02:38:07

标签: list email google-apps-script

我是一名学校老师,正在为我的学校编写文档,以便能够按老师要求学生,但是在设置代码以将电子邮件发送给他们的A2 / B6老师方面遇到了很多麻烦。我需要帮助的过程的一部分是进入项目的各个层次,因此编译的数据非常复杂,在过去的两周中,我已经从stackoverflow中获得了很多帮助,但是我找不到任何能说明我的东西甚至让我开始执行这项特定任务。

我有一行包含教师的电子邮件。他们的电子邮件下方是一列学生的姓名,旁边是另一行,其中包含数据(提出要求的老师的姓名)。我需要编写一个脚本,该脚本将单元格“ A2”中的电子邮件发送给“ A3:B20”中的数据范围,将单元格“ C2”中的电子邮件发送给其“ C3:D20”中的数据范围”,将电子邮件发送到“ E2”单元格中,然后将其范围内的数据范围发送给“ E3:F20”,依此类推,以此类推,以供75位以上的教师使用。

Here is a picture of my sheet

真的我的问题是, 可能 吗?如果是这样,您有什么想法可以指引我正确的方向,或者您可以与我分享一些代码片段以帮助我入门。我是这个项目的Google脚本新手,但我学到了很多东西。

我们将不胜感激任何帮助,见解或建议。

我用计算机生成的名称创建了一个虚拟文档,该文档显示了我的工作表的设置,例如:  https://docs.google.com/spreadsheets/d/1QONEAxMQLBDKwgaXc4RwH_rgb_RzlxTkHl5euSSB9Wk/edit?usp=sharing

1 个答案:

答案 0 :(得分:0)

希望这个简短的示例可以帮助您入门。

function myFunction() {
  var hl='';
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet1');
  var subject='Enter Subject Here';
  for(var col=1;col<sh.getLastColumn();col+=2){
    var rg=sh.getRange(1,col,sh.getLastRow(),2);
    var vA=rg.getValues();
    var s='StudentName,RequestingTeacher\n';
    var html='<table>';
    html+='<tr><th>StudentName</th><th>RequestingTeacher</th></tr>';
    for(var i=2;i<vA.length;i++){
      html+=Utilities.formatString('<tr><td>%s</td><td>%s</td></tr>', vA[i][0],vA[i][1]);
      s+=Utilities.formatString('%s,%s', vA[i][0],vA[i][1]);
    }
    html+='</table>';
    //GmailApp.sendEmail(vA[0][0], subject, s, {htmlBody:html});  
    hl+=Utilities.formatString('RecipientName: %s<br />RecipientEmail:%s<br />Column: %s<br />' , vA[0][0],vA[1][0],col);
    hl+=html;
    hl+='<br /><br /><br />';
  }
    var ui=HtmlService.createHtmlOutput(hl);
    SpreadsheetApp.getUi().showModelessDialog(ui, 'An Example of What Emails Body will look like.')  

}

sendEmail行已被注释掉,我使用一个对话框向您显示电子邮件的外观。

这是我的对话框的样子:

RecipientName: Test Teacher
RecipientEmail:tteacher@schooldistrict.org
Column: 1
StudentName RequestingTeacher
Braydon Nichols 
Kiley Lozano    
Shania Olsen    
Rodney Howell   Duckworth
Tiana Shelton   HOPE Squad
Stephen Wiggins Moore
Kael Rangel 
Beau Pennington 
Hezekiah Vincent    Batman
Iyana Lewis Moore
Theodore Klein  
Rubi Webster    S. Ward
Natalee Wong    Batman
Chris Rocha Batman
Eileen Smith    
Kara Johnston   
Carsen Waters   Moore
Bria Schmitt    Cotterell
Abby Yoder  
Natalie Durham  



RecipientName: Example Teacher
RecipientEmail:eteacher@schooldistrict.org
Column: 3
StudentName RequestingTeacher
Brandon Bean    
Wade Cross  
Jaxon Ford  
Josie Barajas   W. Smith
Aimee Ross  
Maren Cox   Batman
Kyle Morton 
Beatrice Hill   W. Smith
Stephen Carroll Batman
Anton Galvan    
Marlie Neal Anderson
Alexander Andersen  W. Smith
Jacquelyn Boyer 
Nora Brennan    
Derek Ayers 
Van Obrien  
Amari Rasmussen 
Aiyana Collier  Cotterell
Annalise Vance  
Kieran Booker   



RecipientName: Awesome Teacher
RecipientEmail:ateacher@schooldistrict.org
Column: 5
StudentName RequestingTeacher
Brooklynn Hahn  W. Smith
Jenny Lutz  W. Smith
Lilian Moreno   HOPE Squad
Journey Travis  
Kenna Lawson    Anderson
Kathy Mccarthy  
Dayanara Strickland Moore
Anna Knight 
Kamron Osborne  
Turner Mcintosh Cotterell
Tyrone Mullins  
Selena Oneal    
Tabitha Hernandez   
Andreas Chan    Batman
Dashawn Munoz   HOPE Squad
Laylah Morse    HOPE Squad
Jamie Anthony   
Damion Duffy    
Christina Donovan   
Hugh Gomez  



RecipientName: Dummy Teacher
RecipientEmail:dteacher@schooldistrict.org
Column: 7
StudentName RequestingTeacher
Payton Huerta   Moore
Easton Pittman  
Lyric Morrow    HOPE Squad
Jada Richardson Batman
Jon Mckay   HOPE Squad
Demetrius Horton    Anderson
Lilly Atkinson  
Spencer Mathews W. Smith
Jalen Hanna Dibb
Miracle Best    
Emerson Frost   
Colt Andersen   Dibb
Leanna Gibbs    
Liana Branch    S. Ward
Jamie Mooney    
Mara Escobar    Dibb
Liliana Galloway    Anderson
Jane Schmitt    Cotterell
Aryan Melendez  
Dalton Ritter