Google表单复杂电子邮件发送表单提交脚本

时间:2012-06-13 16:37:16

标签: google-apps-script

我现在有这个作为脚本发送电子邮件给我自己作为测试显示有一个新的应用程序提交,但我希望有一个完整的电子邮件发送到我们的人力资源部门给出每个人的名字字段跟随a:和一个空格然后他们的答案是什么。我知道你可以做到这一点,并找到了一个我试图开始工作的脚本,但它仍然失败了,开发人员无法帮助我修复它。我真的很想为我的人力资源部门完成这项工作,以便我们可以继续创建一个新的应用程序。这是我的代码到目前为止,我删除了我的电子邮件隐私问题:

function sendFormByEmail(e){
  var email = "emailgoeshere";
  var subject = "A New Employment Application has been Submitted"; 
  var message = "A New Application Has Been Submited. Please go to the spreadsheet for more details.";
  MailApp.sendEmail(email, subject, message);
}

再次感谢!

2 个答案:

答案 0 :(得分:5)

或者您可以尝试这个非常简单的方法:(仔细阅读脚本中的评论)

function sendFormByEmail(){
var email = "email adress comes here";
var subject = "A New Employment Application has been Submitted";
var message = "A New Application Has Been Submited. Please find the details below :";
var row = SpreadsheetApp.getActiveSpreadsheet().getLastRow();// assuming data is on the last row of the spreadsheet
var messagebody=createmessage(row);
MailApp.sendEmail(email, subject, message+messagebody);
}
//
function createmessage(row){
   var sh = SpreadsheetApp.getActiveSheet();
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var lastCol = ss.getLastColumn();
   var LF=  "\r\n"
   var body = LF
   var headers = sh.getRange(1,1,1,lastCol).getValues();
   var data = sh.getRange(row,1,1,lastCol).getValues();
   for(nn=0;nn<headers[0].length;++nn){
     body+=headers[0][nn]+" : "+data[0][nn]+LF
     }
Logger.log(body)
return body
}
//
//eof

如前所述,来自表单的数据必须位于工作表的最后一行数据中,并且必须有一些数据来检查其工作原理,其他答案=问题。

答案 1 :(得分:0)

我开发了一个可能对你有帮助的脚本,它叫做FormEmailer。您可以在脚本库中找到它,或者在site上获取代码。