1

如何在谷歌表单脚本编辑器中设置 var 主题以返回其连接的表单/工作表中指定字段的值?

例如,如果我的列标题和相应的表单字段分别是“名称”和“日期”,我将如何编码“var subject =”以从这些列中提取该信息,以便确认电子邮件的主题包括数据?

下面的代码将我的表单数据从 Google Docs 提取到电子邮件确认消息中,并显示输入的数据。我想自定义脚本以具有与一个或多个表单字段匹配的自定义电子邮件主题行,而不仅仅是像现在这样的一组“短语”(即“新订单”)。

function sendFormByEmail(e) 
{    

  var email = "my email"; 

  var subject = "New Order Form";

  var s = SpreadsheetApp.getActiveSheet();
  var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
  var message = "";    

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


  MailApp.sendEmail(email, subject, message); 

}
4

2 回答 2

1

下面的代码片段来自一个已经激活的 Google Form 电子邮件通知脚本。它不是完整的脚本,但是,如果您将其添加到现有脚本中,它将执行您在问题中要求的内容。

下面的代码在做什么:

第 1 步:将两个变量分配给您希望在电子邮件通知中保持一致的两个不同常量,即var subject1var subject2

*注意:您可以更改常量和变量以满足您的需要。

第 2 步:分配您在第 1 步中创建的两个变量以及您希望从用户提交的回复中插入主题行的数据。

如果我分别在您的 Google 表单字段“姓名”和“日期”中提交了值“John”和“3/6/2014”,您将收到一封主题为“由 John 于 3/6/2014 提交”的电子邮件.

var subject1 = "Submitted by ";
var subject2 = "On ";

subject = subject1 + e.namedValues['Name'].toString() + subject2 + e.namedValues['Date'].toString();

最后,请记住,您可以在此主题字符串中添加任意数量的变量,以便为您的电子邮件通知创建完美的主题。

希望有帮助,

干杯...

于 2014-03-07T00:47:29.473 回答
0

假设您的表单有问题“姓名”和“日期”,它们分别位于第 2 (B) 列和第 3 (C) 列。由于您已经在访问表单提交时传递给您的函数的事件信息,因此您可以执行相同的操作来构建主题。

function sendFormByEmail(e) 
{    

  var email = "my email"; 

  var form = e.namedValues;
  var subject = form["Name"] + form["Date"];

 ...
于 2013-05-17T19:50:03.363 回答