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 吗?