将电子表格文件添加到文件夹中

时间:2015-10-16 17:01:57

标签: javascript google-apps-script google-sheets

有人知道如何在Google云端硬盘的特定文件夹中创建电子表格文件吗?

我已经尝试过this link的答案。

编辑 - 尝试了这个答案:-D:

     //"Move" file to folder-------------------------------//
  var fileID = '12123123213321'
  var folderID = '21321312312'
  var file = DriveApp.getFileById(fileID).getName()
  var folder = DriveApp.getFolderById(folderID)
  var newFile = file.makeCopy(file, folder)

  //Remove file from root folder--------------------------------//
  DriveApp.getFileById(fileID).setTrashed(true)

但“正确答案”给出了以下错误 “Uncaught TypeError:无法在对象电子表格中找到函数makeCopy。”

我看到了其他答案,但没有一个有效。我已经尝试从“高级Google服务”启用“Drive API”,但使用起来很复杂。

UPDATE! 只是为了解释,我的问题是我正在创建电子表格

var sheetId = SpreadsheetApp.create("filename").getId();

然后尝试makeCopy或addFile在一个文件夹中。这样的事情:

<someFolder>.addFile(sheet);

我发现的是要工作我必须得到一个文件类型,而不是像之后的​​字符串。所以我改为代码;

var sheetId = SpreadsheetApp.create("filename").getId();
var file = DriveApp.getFileById(sheet);
<someFolder>.addFile(file);

1 个答案:

答案 0 :(得分:1)

而不是制作副本,为什么不移动它呢?

var file = DriveApp.getFileById(fileID),
    folder = DriveApp.getFolderById(folderID),
    parents = file.getParents();

folder.addFile(file);

while( parents.hasNext() )
   parents.next().removeFile(file);