问题描述
一年前,在另一个用户的帮助下,我能够使用google app脚本来获取表单回复并通过电子邮件发送pdf(以下代码)
我现在需要将pdf保存到特定文件夹 我还需要在Google工作表中添加指向已保存的pdf的链接。这可能吗?
L2_TRANS.RFO
解决方法
我相信您的目标如下。
- 您要将PDF数据作为文件保存到特定的文件夹中。
- 您要检索已保存的PDF文件的URL,并将其放入电子表格的特定列。
修改点:
- 要将PDF数据(在您的情况下为blob)保存到特定文件夹,可以使用
DriveApp.getFolderById("folderId").createFile(pdf)
。 - 为了检索创建的文件的URL,可以使用
getUrl()
。 - 为了将URL放置到电子表格的特定列。
- 您要将值放在最后一行的下一列。
修改后的脚本:
请如下修改您的脚本。使用此修改后的脚本之前,请设置文件夹ID,电子表格ID和工作表名称。
从:copyDoc.saveAndClose();
var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");
至:
copyDoc.saveAndClose();
var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");
var url = DriveApp.getFolderById("###folderId###").createFile(pdf).getUrl();
var sheet = SpreadsheetApp.openById("###spreadsheetId###").getSheetByName("###sheetName###");
sheet.getRange(sheet.getLastRow(),sheet.getLastColumn() + 1).setValue(url);
- 运行脚本时,会将
pdf
作为文件创建到文件夹###folderId###
,并将url
放在工作表{{1 }}在电子表格###sheetName###
上。
注意:
-
如果要提供PDF文件的文件名,请进行以下修改。
-
来自
###spreadsheetId###
-
收件人
var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");
-