Create a Google Doc file directly in a Google Drive folder

前端 未结 5 1867
离开以前
离开以前 2020-12-19 00:23

How do I create a Google document in a Google Drive folder?

I know that I can create a file in a folder like this.

var folder = DriveApp.createFolder         


        
相关标签:
5条回答
  • 2020-12-19 00:47

    The other answer is correct but the file will exist in your folder AND in your "drive" folder (the root folder).

    To avoid that, simply remove it from there !

    code :

      var doc = DocumentApp.create('Document Name'),
          docFile = DriveApp.getFileById( doc.getId() );
      DriveApp.getFolderById('0B3°°°°°°°1lXWkk').addFile( docFile );
      DriveApp.getRootFolder().removeFile(docFile);
    
    0 讨论(0)
  • 2020-12-19 00:52
    var folder = DriveApp.createFolder ("A Folder");
    var file = DriveApp.createFile ("filename.file", "Some text");
    file.moveTo (folder);
    
    0 讨论(0)
  • 2020-12-19 00:57

    To add to @Kriggs answer.

    To remove from the root folder:

    DriveApp.getRootFolder().removeFile(file)

    Otherwise, it will be in the root level and the new location.

    0 讨论(0)
  • 2020-12-19 01:01

    With document it's a bit different, you first create it then move to the folder:

    var doc = DocumentApp.create('Document Name'),
          docFile = DriveApp.getFileById( doc.getId() );
    
    DriveApp.getFolderById(foldId).addFile( docFile );
    
    0 讨论(0)
  • 2020-12-19 01:05

    This is how to create a new Google Doc in a specific folder. When the Doc is created, the mime type must be set.

    Note that this code does NOT first create a Doc file, move it, and then delete the file in the Root Drive. This code creates a new Google Doc type file directly in a folder.

    You will need to use the Advanced Drive API. It must be enabled in two places.

    • From the code editor choose "Resources" and then choose, "Advanced Google services"
    • Click the button for "Drive API" so that it is ON.
    • Click the link: Google Cloud Platform API Dashboard.
    • Search Drive API
    • Choose Google Drive API from search list
    • Enable the Drive API

    Code:

    function myFunction(e) {
      var doc,fileResource,folder,ID_of_newFile,multipleFolders,newFile,
          newDocName,rng,sh,ss,ssFile,ssID;
    
      var name = e.values[1];
      var kantoor = e.values[2];
    
      newDocName = 'Sleuteloverdracht ' + name;//Set the name of the new file
    
      rng = e.range;//Get range in the spreadsheet that received the data
      sh = rng.getSheet();//Get sheet tab
      ss = sh.getParent();//Get spreadsheet
      ssID = ss.getSheetId();//Get file ID of spreadsheet - Integer
    
      ssFile = DriveApp.getFileById(ssID);//Get the spreadsheet file in order to get the
        //folder to put the new file in
      multipleFolders = ssFile.getParents();//Get all parent folders of the spreadsheet file
    
      folder = multipleFolders.next();//Get the folder of the spreadsheet
    
      fileResource = {
        'title': newDocName,
        "parents": [{'id':folder.getId()}],  //<--By setting this parent ID to the 
        //folder's ID, it creates this file in the correct folder
        'mimeType': 'application/vnd.google-apps.document'
      };
    
      newFile = Drive.Files.insert(fileResource);//Create the new document file
       // directly into the same folder as the spreadsheet
      ID_of_newFile = newFile.getId();
    
      //Logger.log(ID_of_newFile)
    
      doc = DocumentApp.openById(newFile.getId());//Open the new file as a Google document
    
      var body = doc.getBody();
      body.appendParagraph('Sleuteloverdracht ' + name);
      body.appendParagraph('Uw naam is '+ name + '\n' + 
        'U heeft de sleutel van kantoor '+ kantoor);
      doc.saveAndClose();
    
    }
    
    0 讨论(0)
提交回复
热议问题