Google 表格 - 按", "分隔名称并复制行中的其他所有内容



我有一张表,里面有关于行为事件的各种信息。填充行后,填写表单的人可以选择从数据库中选择多个名称。这像这样("John Doe,Bob Smith,Alex Dimple"(输入到单元格(列E(中。在一张单独的纸上,我运行了一个脚本,从行中复制整个内容,并为每个学生创建一个单独的行。这是必要的,这样我们就可以发送电子邮件,并将每一行单独用于我们的记录。这个剧本大部分时间都是有效的,但它确实会停止工作,可能一个月一次。有时它会自行修复,有时我不得不进去重新制作床单才能工作。我正在寻找一个更稳定的选择。下面是代码:

function name(range) {
var output2 = [];
for(var i=0, iLen=range.length; i<iLen; i++) {
var s = range[i][4].split(", ");    
for(var j=0, jLen=s.length; j<jLen; j++) {
var output1 = []; 
for(var k=0, kLen=range[0].length; k<kLen; k++) {
if(k == 4) {
output1.push(s[j]);
} else {
output1.push(range[i][k]);
}
}
output2.push(output1);
}    
}
return output2;
}

当出现问题时,我会出现以下错误:谷歌表单错误消息

试试这个,并查看执行日志中的错误以及有关该错误的范围内容的信息

function name(range) {
if (range) {
var output2 = [];
for (var i = 0, iLen = range.length; i < iLen; i++) {
var s = range[i][4].split(", ");
for (var j = 0, jLen = s.length; j < jLen; j++) {
var output1 = [];
for (var k = 0, kLen = range[0].length; k < kLen; k++) {
if (k == 4) {
output1.push(s[j]);
} else {
output1.push(range[i][k]);
}
}
output2.push(output1);
}
}
return output2;
} else {
throw "Error: parameter range is undefind";
Logger.log(JSON.stringify(range));
}
}

最新更新