Search code examples
google-apps-scriptgoogle-sheetsgoogle-drive-api

How to Create a Spreadsheet in a particular folder via App Script


Can anybody help me out,

I want to create a Spreadsheet through App Script in a particular folder. How to do that.

Presently I am doing as follow:

var folder = DocsList.getFolder("MyFolder");
var sheet = SpreadsheetApp.create("MySheet");
var file = DocsList.getFileById(sheet.getId());
file.addToFolder(folder);
file.removeFromFolder(file.getParents()[0]);

It is not working.......


Solution

  • Since you can no longer create Google Docs (Docs or SpreadSheets) using DriveApp, nor use addToFolder because DocList is deprecated. There is only one way to create or "move" Google Docs or Google SpreadSheets..

      //"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)
    

    As you can see this DOES NOT move the file, it makes a copy with the same name in the folder you want and then moves the original file to the trash. I'm pretty sure there is no other way to do this.