2015-10-16 53 views
1

任何人都知道如何在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) 

但“正确答案”给我的跟随误差“遗漏的类型错误:在对象表格找不到功能makeCopy。”

我看到了其他答案,但都没有工作。我已经尝试从“高级Google服务”启用“云端硬盘API”,但这样做有点复杂。

更新! 只是为了说明,我的问题是,我创建电子表格

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); 
+0

尝试使用调试器,并一次一行地运行每行代码并查看值。 [Google文档 - 疑难解答 - 调试器](https://developers.google.com/apps-script/troubleshooting#using_the_debugger_and_breakpoints) –

回答

1

而不是做一个副本,为什么你不移动它?

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

folder.addFile(file); 

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

它的工作原理,谢谢! –

+0

但这不能回答这个问题。编辑你的问题。 –

相关问题