首页 > 解决方案 > 如何将独特的单元格范围发送到列出的电子邮件?

问题描述

我是一名学校老师,正在为我的学校编写一份文件,以便能够按老师要求学生,但我在设置代码以将电子邮件发送给他们的 A2/B6 老师时遇到了很多麻烦。我需要帮助的部分过程是项目中的层,因此编译的数据非常复杂,过去两周我从 stackoverflow 中阅读了很多帮助,但我找不到任何可以显示我或甚至让我开始执行这项特定任务。

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

这是我的床单的图片

真的我的问题是,这可能吗?如果是这样,您是否有任何想法可以为我指明正确的方向,或者您是否有一段代码可以与我分享以帮助我开始。我是这个项目的谷歌脚本的新手,但我学到了很多东西。

任何帮助、见解或建议将不胜感激。

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

标签: listemailgoogle-apps-script

解决方案


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

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   

推荐阅读