首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有电子表格的getAs(MimeType.PDF)或getAs('application/pdf')

带有电子表格的getAs(MimeType.PDF)或getAs('application/pdf')
EN

Stack Overflow用户
提问于 2018-03-02 06:25:58
回答 2查看 2.5K关注 0票数 1

getAs(MimeType.PDF)或getAs('application/pdf')功能最近有变化吗?

下面是我的代码示例:

代码语言:javascript
运行
复制
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();

等等。

然后使用以下命令将此电子表格添加到电子邮件

代码语言:javascript
运行
复制
blSheet.getAs(MimeType.PDF)

直到一周前,这一切都运行得很好。现在,在我的电子邮件中附加的pdf是空白模板。当我在google drive中查看新的电子表格时,它有相应的更新/合并单元格。

有什么帮助吗?

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

EN

回答 2

Stack Overflow用户

发布于 2018-03-02 07:34:10

看看sendMail()的attachments选项,它需要一个BlobSource[]对象数组,它实际上只接受一个未经修改的Google Drive文件,并将其附加为documentation --不需要额外的工作。

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

票数 1
EN

Stack Overflow用户

发布于 2021-05-05 18:59:42

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

您可能需要调用:

代码语言:javascript
运行
复制
SpreadsheetApp.flush()

这将提交您对驱动器文件的更改,并有望解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49059677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档