Google apps script 带有电子表格的getAs(MimeType.PDF)或getAs(';应用程序/PDF';)

Google apps script 带有电子表格的getAs(MimeType.PDF)或getAs(';应用程序/PDF';),google-apps-script,Google Apps Script,getAs(MimeType.PDF)或getAs('application/PDF')功能最近有没有改变 我的代码示例: var blSheet = DriveApp.getFileById('templateID').makeCopy(title, destFolder); var ss2 = SpreadsheetApp.open(blSheet); var sheet2 = ss2.getSheetByName('Sheet Name'); sheet2.getRange("B9").s

getAs(MimeType.PDF)或getAs('application/PDF')功能最近有没有改变

我的代码示例:

var blSheet = DriveApp.getFileById('templateID').makeCopy(title, destFolder);
var ss2 = SpreadsheetApp.open(blSheet);
var sheet2 = ss2.getSheetByName('Sheet Name');
sheet2.getRange("B9").setValue(valueHere);
sheet2.getRange("C10").setValue(valueHere);
sheet2.getRange("D11").setValue(valueHere);
sheet2.getRange("B9:B11").merge();
sheet2.getRange("C9:C11").merge();
等等

然后使用将此电子表格添加到电子邮件中

blSheet.getAs(MimeType.PDF)
直到一周前,这一切都很顺利。现在附件PDF在我的电子邮件是空白模板。当我在我的谷歌硬盘中查看新的电子表格时,它有适当更新/合并的单元格

有什么帮助吗

在我看来,要么getAs在更新/合并单元格之前获取电子表格,要么它在更新之后获取电子表格的第一个“版本”。

查看for
sendMail()
的附件选项。它需要一个对象数组。实际上,它只接受一个Google驱动器文件而不做任何修改,并将其作为PDF格式附加——不需要额外的工作


只需给MailApp sendMail一个文件对象。

您可能遇到的问题是对工作表所做的更改没有完全提交

您可能需要致电:

SpreadsheetApp.flush()
这将提交您对驱动器文件的更改,并有望解决该问题