将电子邮件正文变量的每一行粘贴到电子表格的一行中



我有一个脚本可以成功提取电子邮件的正文:

var msgBody = messages[m].getBody();

此消息包含 650+ 行信息,我想将每行文本放在同一列的不同行中(例如,如果我将其粘贴到单元格 H1 中,它将的工作方式。 当我运行此命令时:

listserveSheet.getRange("H1").setValues(msgBody)

它自然地将所有 650+ 行信息放在一个单元格中,而不是单元格 H1 到 H652(或任何给定电子邮件的最后一个单元格(。

知道如何更改我的变量以使其能够以我想要的方式设置值吗? 我在想也许循环遍历变量并分别设置每个值。 但是我不知道每次通过循环如何从变量中提取一行。

感谢Suhail在上面评论中的指示,我能够找到答案。

var msgBody = messages[m].getBody();
var dest = msgBody.split("n");

分裂很好吗?然后我能够用这个将各个值设置到单独的单元格中。

for (var i =0; i < dest.length; i++) {
listserveSheet.getRange("H"+ (i+1)).setValue(dest[i]);
}

我曾尝试使用 setValues 操作,但显然,我没有摸索 2d 范围业务。 我怀疑如果我确实了解 2d 范围,在更大的范围内使用 setValues,而不是在单元格上循环 setValue 会更快。 这是我尝试过的一点(以及其他几种不起作用的排列:

listserveSheet.getRange(1,8,dest.length,dest[0].length).setValues(dest);

再次感谢您的帮助

相关内容

最新更新