我有一个简单的脚本来创建Google工作表的pdf文件,并将其保存在驱动器文件夹中,但是当我运行脚本时出现此错误: TypeError:在对象Drive中找不到函数getFolderByID。
我注意到DriveApp是黑色而不是蓝色。我想知道这是否是问题以及如何解决。
function MakePDF() {
var Testsheet1 = SpreadsheetApp.getActive().getSheetByName('Test PDF');
var FolderID = Testsheet1.getRange('B40').getValue();
var pdfName = "TestConvert" var folder = DriveApp.getFolderByID(FolderID);
var ss = SpreadsheetApp.getActive();
var destSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(ss.getId()).makeCopy("tmp_convert_to_pdf", folder));
var theBlob = destSpreadsheet.getBlob().getAs('application/pdf').setName(pdfName);
var newFile = folder.createFile(theBlob);
DriveApp.getFileById(destSpreadsheet.getId()).setTrashed(true);
}
答案 0 :(得分:1)
您写的是Drive.getFolderById()
而不是DriveApp.getFolderById()
吗?
您非常接近使它起作用。我会在您的问题中发布您的版本,这是我的更正版本。您可以进行文件比较以查看差异。
function MakePDF() {
var Testsheet1=SpreadsheetApp.getActive().getSheetByName('Test PDF');
var FolderID=Testsheet1.getRange('B40').getValue();
var pdfName="TestConvert";
var folder=DriveApp.getFolderById(FolderID);
var ss=SpreadsheetApp.getActive();
var destSpreadsheet=SpreadsheetApp.openById(DriveApp.getFileById(ss.getId()).makeCopy("tmp_convert_to_pdf", folder).getId());
var theBlob=destSpreadsheet.getBlob().getAs('application/pdf').setName(pdfName);
var newFile=folder.createFile(theBlob);
DriveApp.getFileById(destSpreadsheet.getId()).setTrashed(true);
}
顺便说一句,如果您将代码发布到问题中,它可能永远不会暂停,并且很快就会得到答复。