我有以下代码用于导出具有特定标签的特定Gmail邮件正文。
问题在于它将正文解析为google表格中的一个单元格。
但是,如果我手动复制然后“粘贴值”将数据粘贴到Google工作表中,则gmail正文的表格格式会保留在所需的单元格数中。
如何将“粘贴值”元素添加到代码中?
var sheet = SpreadsheetApp.getActiveSheet();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
function getEmails() {
var label = GmailApp.getUserLabelByName("Nanigans");
var threads = label.getThreads();
var row = 2;
for (var i = 0; i < threads.length; i++) {
var messages=threads[i].getMessages();
for (var m=0; m < messages.length; m++) {
(sheet.getRange(row,1).setValue(messages[m].getPlainBody()), {contentsOnly: true});
row++;
}
}
}
function onOpen() {
var menuEntries = [ {name: "Load Emails", functionName: "getEmails"} ];
spreadsheet.addMenu("Email", menuEntries);
}
答案 0 :(得分:1)
我不知道为什么让文本跨越多个单元格更好,但这就是你可以做到的。
var message = messages[m].getPlainBody();
var strSplit = str.split('\n').map(function(a) {return [a.trim()];});
sheet.getRange(row, 1, strSplit.length, 1).setValues(strSplit);
第二行代码拆分字符串并将片段放入单独的行中,沿着换行符修剪空白。