电子邮件表单回复,但不包括空白回复

时间:2014-03-13 13:10:25

标签: email google-apps-script google-form

所以我使用我在网上找到的脚本,每次完成Google表格时都会发送一封电子邮件,其中包含通过Google表格填写表单中的数据。

function sendFormByEmail(e) 
{    
  var email = “email@address.com”; 

  var s = SpreadsheetApp.getActiveSheet();
  var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
  var message = "A new travel request has been submitted.";
  var subject = "New Travel Justification Request: ";

  for(var i in headers) 
    message += headers[i] + ': '+ e.namedValues[headers[i]].toString() + "\n\n";     

  subject += e.namedValues[headers[2]].toString() + " - starts " + e.namedValues[headers[15]].toString();

MailApp.sendEmail(email, subject, message); 

  // Based off of a script originally posted by Amit Agarwal - www.labnol.org
  // Credit to Henrique Abreu for fixing the sort order
}

它运行良好,但我希望它排除空单元格的标题,因为并非表单的所有部分都需要完成。

我知之甚少,所以所有的帮助都表示赞赏。

1 个答案:

答案 0 :(得分:0)

我已将原始Google Form script更新为不包含空字段。您可以在for循环中添加一个简单的条件:

for(var i in headers) {
  if ( e.namedValues[headers[i]].toString() != "") {
     message += headers[i] + ': '+ e.namedValues[headers[i]].toString() + "\n\n";  
  }
}