应用程序脚本-拆分谷歌表单复选框用逗号回答

Apps Script - splitting google form checkbox answers by commas

本文关键字:复选框 表单 脚本 拆分 谷歌 应用程序      更新时间:2023-09-26

谷歌表单复选框问题将选定的回答组合成一列,用逗号分隔。我正试图发送一封关于这些回复的确认电子邮件,但电子邮件的格式很糟糕:

注册时间:上午9:15-上午10:00教学技术工具&资源(电子实验室笔记本、课堂技术、分析等),上午10:10-上午11:00翻转或混合(混合)课程的工具(学习玻璃、教学设计、Ted、播客等)

我想用<br>替换逗号分隔符,但一直想不通。

我试过:

register = e.namedValues[headers[4]].split(',');

register = e.namedValues[headers[4]];
workshops = register.replace(",", "<br>");

如有任何帮助,我们将不胜感激!非常感谢。

for (var i in headers) {
  ....... ....... 
  register = e.namedValues[headers[4]];
} 
if (e.namedValues[headers[i]].toString() != "" ) {
  textbody = ....... + register + "<br>"
}

应该这样构造:

for (var i in headers) {
  ....... ....... 
  register = e.namedValues[headers[i]].toString();
  if (register != "" ) {
    textbody = register.replace(/,/g, "<br>");
  }
}

将数组转换为字符串后,需要执行全局替换。

function replaceCommas() {
  var headers = ['First Name', 'Timestamp', 'Last Name', 'workshops'];
  var register = {'First Name': ['Jane', 'Jon', 'Jim', 'Josie'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe'], 'workshops': ['learning glass', 'instructional design', 'Ted', 'podcast']};
  //register = e.namedValues[headers[4]].split(',');
  var keyName = headers[3]; //Arrays are Zero indexed, fourth item is index 3
  Logger.log('keyName is: ' + keyName);
  var stringOfValues = register[keyName].toString();
  Logger.log('stringOfValues: ' + stringOfValues);
  var workshops = stringOfValues.replace(/,/g, "<br>");
  Logger.log('workshops: ' + workshops);
}

将上面的函数复制到脚本编辑器中,在类似于第一条Logger.log()语句的地方设置一个断点,然后逐步进入每一行。您可以在屏幕底部的调试窗口中看到变量的所有值。

要设置断点,请单击一个行号,就会出现一个红点,即代码将停止的位置。然后单击错误的图标。代码将一直运行到断点处。

以下是调试文档的链接:

谷歌文档-故障排除