我在Google脚本中添加了一些代码行。重要的一点是(考虑到我的mySpreadsheet
内容不错,同时设置了source
和folder
这个事实)
[...]
var mySpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(source.getId()).makeCopy("test", folder))
[...]
var sheet = mySpreadsheet.getSheets()[0];
sheet.clear();
//email, obj, msg are string set before
sendPdf(mySpreadsheet, pdfName, email, obj, msg);
}
function sendPdf(sheet, pdfName, email, object, message) {
//save to pdf
var pdfFile = sheet.getBlob().getAs('application/pdf').setName(pdfName);
// Send the freshly constructed email
MailApp.sendEmail(email, object message, {attachments:[pdfFile]});
}
该脚本有效,这意味着该脚本创建了pdf并将其附加到电子邮件中。
我希望在清理文件(仅)工作表之后,会收到一个空的pdf。
mySpreadsheet
为空,但随附的pdf包含从源复制的所有内容。这些数据来自哪里?清除工作表时将它们“存储”在哪里?预先谢谢你。
答案 0 :(得分:1)
sheet.clear()
作为第一页的电子表格来接收电子表格,作为电子邮件的附件。如果我的理解是正确的,那么该修改如何?
sheet.clear()
后,似乎电子表格没有保存。我认为这是您遇到问题的原因。
sheet.clear()
之后保存电子表格,可以从更新的电子表格中检索该blob。请进行以下修改,然后再次进行测试。
从:sheet.clear();
至:
sheet.clear();
SpreadsheetApp.flush(); // Added
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。