【发布时间】:2017-03-02 21:33:03
【问题描述】:
我运行这段代码,它什么也没做。没有错误,没有输出。任何帮助将不胜感激!
我已尝试更改所有内容...范围、工作表名称、appendRow 与 setValues。我已经为启动和最大线程添加了 0,10,删除了第一个 for 循环......到目前为止没有任何效果。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("NewEmails");
var range = sheet.getRange(1,1,25,25);
//.appendRow("this function works a little");
var threads = GmailApp.getInboxThreads(0,10); // get first thread in inbox
//var message = thread.getMessages()[0]; // get first message
//var threads = label.getThreads();
for (var i=0; i<10; i++) //threads.length
{
var messages = threads.getMessages();
for (var j=0; j<10; j++) //messages.length
{
var dat = messages[j].getDate();
var sndr = messages[j].getFrom();
var rcpnt = messages[j].getTo();
var sub = messages[j].getSubject();
var msg = messages[j].getBody();
var target = [dat,sndr,rcpnt,msg, sub, dat];
sheet.getRange(1,1,25,25).setValues(target);
//.appendRow([dat,sndr,rcpnt,msg, sub, dat]); DOES NOT WORK FOR SOME REASON BUT IS PREFERED METHOD
}
//threads[i].removeLabel(label);
}
}
【问题讨论】:
-
目标必须是二维数组。
setValues()采用二维数组。每个内部数组代表一行。每个内部数组的每个元素代表一个单独的单元格。var outerArray = []; outerArray.push(target); sheet.getRange(1,1,outerArray.length,target.length).setValues(outerArray);如果您不熟悉故障排除工具,请阅读troubleshooting guide -
是的,我意识到 setValues() 和 setValue() 有很大的不同。这两个可以与范围一起使用。 appendRow() 必须在工作表级别使用。
标签: javascript google-apps-script gmail