Google Apps Script e.namedValues 格式多项选择

Posted

技术标签:

【中文标题】Google Apps Script e.namedValues 格式多项选择【英文标题】:Google Apps Script e.namedValues format multiple choice 【发布时间】:2012-10-04 18:37:29 【问题描述】:

我有一个简单的脚本,可以通过电子邮件发送 Google Drive 表单提交的结果。表单中的一个问题具有多项选择复选框。我正在使用 e.namedValues 来获取答案数组,以便我可以通过电子邮件发送它们,如下所示:

var multiple = e.namedValues['Multiple Choice Question'].toString();

通过电子邮件发送的结果是这样的:

Answer 1, Answer 2, Answer 3

但我希望结果格式如下:

Answer 1
Answer 2
Answer 3

而不是用逗号分隔。有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

使用 javascript 字符串的拆分函数

var multiple = e.namedValues['Multiple Choice Question'].toString();
var choicesSelected = multiple.split(',');
multiple =''; 
for(var i in choicesSelected)
  multiple += choicesSelected[i] + '\n' ;

for (var i in multiple)
  Logger.log(multiple[i]);

【讨论】:

感谢您的帮助!但是,我收到此错误: Missing ;声明之前。 (第 13 行)。第 13 行是“multiple += selectionSelected + '\n' l”行。我删除了 l,它没有给我错误消息,但是它没有去掉逗号分隔,而是用逗号分隔列出了 5 次选项。我做错了什么? 感谢您指出错字。修复。如果将其拆分为多个 Logger.log 语句,则应该在多行中看到它。查看编辑示例 非常感谢您在这方面的帮助。但是,我还是觉得有些不对劲。我没有将每个答案列出一次并带有换行符,而是得到以下输出:“答案 1、答案 2、答案 3、答案 1、答案 2、答案 3、答案 1、答案 2、答案 3、答案 1、答案2,答案 3,答案 1,答案 2,答案 3,“ - 根本没有换行符,只是用逗号分隔重复的答案。 :(【参考方案2】:

试试这个:

function myFunction(e) 
   var eMails = e.namedValues['Your question here'].toString();
   var choicesSelected = eMails.split(', ');

   /**
      eMails =''; 
      for(var i in choicesSelected)
      eMails += choicesSelected[i] + '\n';
   

   */
   for (var i in choicesSelected)
      Logger.log(choicesSelected[i]);
   

【讨论】:

提供一些关于代码示例的解释。

以上是关于Google Apps Script e.namedValues 格式多项选择的主要内容,如果未能解决你的问题,请参考以下文章

该脚本工作正常,但不在“google-apps-script”中

Google-apps-script 函数 CHAR() 和 CODE()

Google-Apps-Script 无法使用 getDataRange().setValues() 写回数据库

服务帐户可以调用 Google Apps Script Execution API 吗?

使用 Google Apps Script、Google Cloud SQL 和 JDBC 存储日期

如何在google-apps-script上恢复已撤销的权限?