Google Apps脚本中的DriveApp不起作用

时间:2019-03-08 01:54:10

标签: google-apps-script

我有一个简单的脚本来创建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); 
}

1 个答案:

答案 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); 
}

顺便说一句,如果您将代码发布到问题中,它可能永远不会暂停,并且很快就会得到答复。