我有一个工作表脚本,用于捕获特定电子邮件的正文,其中包含一个表格。到目前为止,这已经工作正常,但我现在已达到单个单元问题的50000字符限制。我正在使用:
=转置(拆分(" C1",CHAR(10),TRUE))
为了逐行拆分内容,所以现在需要编写脚本,以便将电子邮件正文逐行传递到工作表。
我最好的方法是什么?
由于
答案 0 :(得分:0)
最终自己想出来,感谢这里的精英响应者(Serge / Mogsdad / Sandy等人),他们对以前的问题的回答提供了所有的线索。首先使用Serge的getMessage代码。我知道,比使用appendRow更好的方法,但有些不适用于消息形成不良的html内容(例如,将行放入数组会导致范围宽度错误)。我的脚本只调用一封电子邮件,最新一封带有所选标签的电子邮件。
以下是涵盖它的功能:
function getMessageWithLabel() {
var destArray = new Array();
var threads = GmailApp.getUserLabelByName('<GMailLabel>').getThreads(0,1);
for(var n in threads){
var msg = threads[n].getMessages();
var destArrayRow = new Array();
destArrayRow.push('thread has '+threads[n].getMessageCount()+' messages');
for(var m in msg){
destArrayRow.push(msg[m].getBody());
}
destArray.push(destArrayRow);
}
//open spreadsheet and set sheet for appending data
var ss = SpreadsheetApp.openById('<Google Spreadsheet ID>');
var sh5 = ss.getSheets()[4];
//get number of lines in content
var lines = destArrayRow[0].split('\n');
var length = lines.length;
//appendRow for each line in content
for (var i = 0; i <= length; i++) {
sh5.appendRow([lines[i]]);
}
}