2016-08-13 61 views
0

我有一個工作表腳本,捕獲一個特定的電子郵件的正文與表中。到目前爲止,這一直工作正常,但我現在已經達到了單個單元格問題的50000個字符限制。我用:谷歌應用程序腳本輸出電子郵件正文逐行

=轉置(分割(「C1」,CHAR(10),TRUE))

以分割由線的內容行,所以現在需要腳本此相反,從而使電子郵件正文逐行遞送到工作表。

對此我最好的方法是什麼?

感謝

回答

0

想通了自己最終與感謝精英應答就在這裏(塞爾/ 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]]); 
    } 

} 
相關問題