强制谷歌电子表格等到单元格计算完成后再导出为pdf

时间:2016-10-17 17:18:24

标签: pdf google-apps-script

在我的Google电子表格文件中,我有许多自定义功能,可以对我的服务器执行请求并下载一些数据。我需要自动将其导出为PDF,然后发送特定的电子邮件。

我是这样写的:

function sendPDF() {
  var pdf = DriveApp.getFileById(SpreadsheetApp.getActive().getId()).getAs('application/pdf').getBytes();
  var attach = {fileName:'MyPDF.pdf',content:pdf, mimeType:'application/pdf'};

  MailApp.sendEmail("example@email.com", "PDF test", "test", {attachments:[attach]});
}

按时添加触发器,每小时执行一次此功能。问题是,使用一个电子表格我得到的PDF没有下载数据,而另一个电子表格我得到We're sorry, a server error occurred. Please wait a bit and try again. (line 44, file "Code")错误。

如何强制google电子表格等到下载数据后再下载后发送给我最终PDF?

1 个答案:

答案 0 :(得分:0)

可悲的是,如果没有所需的声誉,我无法在上面发表评论。

为什么不像现在这样将它作为一个单独的函数,只需调用main函数中的函数来获取url并下载数据。

您甚至可以将下载的数据写在单独的电子表格中,并插入IF函数,当单元格不为空时,执行pdf脚本!执行脚本clear()并在必要时循环。