我是google apps script
的新用户,我想为电子表格创建一个脚本,我希望将发送给我的其他人的电子邮件地址存储到我的电子表格中。我push
发送到数组的所有电子邮件,并使用该数组存储在电子表格中。出于某种原因,虽然我通过日志查看了所有电子邮件,但.setValues()
无效。这是我的代码,
var n=threads.length;
var messages=thread.getMessages();
var getfrom = 0;
var allMails = [];
for (var i=0; i<n; i++)
{
for (var j=0; j<messages.length; j++)
{
var message=messages[j];
getfrom = message.getFrom();
var first_name = getfrom.substring(0, getfrom.indexOf(" "));
var last_name = getfrom.substring(getfrom.indexOf(" ")+1, getfrom.indexOf(" <"));
var email_address = 0;
if (first_name == '' && last_name == '')
{
email_address = getfrom;
} else {
email_address = getfrom.substring(getfrom.indexOf("<")+1, getfrom.indexOf(">"));
}
}
allMails.push(email_address);
}
Logger.log(allMails);
sheet1.getRange(2, 3, n, 1).setValues(allMails);
Browser.msgBox("Operation complete");
如何在电子表格中设置allMails[]
数组中的所有值?非常需要这个帮助。感谢。
答案 0 :(得分:2)
setValues()
needs a "two dimensional" array,与长度相等的数组一样。
您希望将电子邮件作为单独的行提供给工作表,因此请尝试将电子邮件地址作为单个元素数组推送到数组中,即:
allMails.push([email_address]);