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

How can I set the var subject in google forms script editor to return the values of specified fields in the form/sheet its is connected to?

本文关键字:表单 工作 返回 字段 主题 谷歌 脚本 编辑器 var 设置      更新时间:2023-09-26

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

例如,如果我的列标题和相应的表单字段分别是"Name"answers"Date",我将如何对"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); 
}

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

下面的代码在做什么:

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

*注意:您可以根据需要更改常量和变量

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

如果我分别在你的Google表单字段"Name"answers"Date"上提交了值"John"answers"3/6/2014",你会收到一封主题栏写着"submitted by John on 3/6/2014"的电子邮件。

var subject1 = "Submitted by ";
var subject2 = "On ";
subject = subject1 + e.namedValues['Name'].toString() + subject2 + e.namedValues['Date'].toString();

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

希望有帮助,

欢呼T…

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

function sendFormByEmail(e) 
{    
  var email = "my email"; 
  var form = e.namedValues;
  var subject = form["Name"] + form["Date"];
 ...