使用谷歌应用程序脚本发送特定工作表名称的pdf

时间:2016-03-13 20:02:54

标签: google-apps-script

我试图使用谷歌应用程序脚本发送PDF文件,虽然这样可以获得pdf

var ss = SpreadsheetApp.getActiveSpreadsheet();
var blob=ss.getAs('application/pdf').setName('report.pdf')
如果我尝试输入特定的工作表名称,它将无法工作,如

var ss = SpreadsheetApp.getActive().getSheetByName('Class');

它为getAs

引发了错误

有人知道如何做到这一点,所以我可以得到一个特定的工作表名称?请注意,我需要工作表名称,因为这是由触发器完成的,没有脚本失败,因为没有工作表名称。

1 个答案:

答案 0 :(得分:0)

@Allen,我认为你不能通过调用活动表直接打印。一个不错的解决方法是选择活动工作表并将其复制到新的电子表格并使用getAs()。

  

getAs(contentType)

     

将此对象内的数据作为转换为的blob返回    指定的内容类型。此方法添加适当的扩展名    文件名 - 例如," myfile.pdf"。但是,它假设了    最后一个句点后面的文件名的一部分(如果有的话)是    应该替换的现有扩展。所以,    " ChristmasList.12.25.2014"将成为" ChristmasList.12.25.pdf"。

使用getAs后添加:

  

getBytes()

     

获取存储在此blob中的数据。

以下是示例代码:

var pdf = newSpreadsheet.getAs('application/pdf').getBytes();

这是基于此github code example