Skip to content

Instantly share code, notes, and snippets.

@avinashkoyyana
Created October 22, 2017 22:10
Show Gist options
  • Select an option

  • Save avinashkoyyana/1ea0d4b07e342779b0956b9ae9e126bb to your computer and use it in GitHub Desktop.

Select an option

Save avinashkoyyana/1ea0d4b07e342779b0956b9ae9e126bb to your computer and use it in GitHub Desktop.
Google drive Folder Creation from Google sheets
function onOpen() { //This is the new standard script for the onOpen trigger that creates a menu item. var ui = SpreadsheetApp.getUi(); // Or DocumentApp or FormApp. ui.createMenu('GDrive') .addItem('Create new Folders', 'crtGdriveFolder') .addToUi(); }
function crtGdriveFolder() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; // First row of data to process var numRows = sheet.getLastRow(); // Number of rows to process var maxRows = Math.min(numRows,20); //Limit the number of rows to prevent enormous number of folder creations var folderid = sheet.getRange("C2").getValue(); var root = sheet.getRange("D2").getValue(); var dataRange = sheet.getRange(startRow, 1, maxRows, 2); //startRow, startCol, endRow, endCol var data = dataRange.getValues(); var folderIterator = DriveApp.getFoldersByName(folderid); //get the file iterator
if(!folderIterator.hasNext()) { SpreadsheetApp.getActiveSpreadsheet().toast('Folder not found!'); return; }
var parentFolder = folderIterator.next();
if(folderIterator.hasNext()) { SpreadsheetApp.getActiveSpreadsheet().toast('Folder has a non-unique name!'); return; }
for (i in data) { var row = data[i]; var name = row[0]; // column A var desc = row[1]; // column B
if(root == "N" && name != "") { var idNewFolder = parentFolder.createFolder(name).setDescription(desc).getId(); Utilities.sleep(100); var newFolder = DriveApp.getFolderById(idNewFolder);
} if(root == "Y" && name != "") {
var idNewFolder = DriveApp.createFolder(name).setDescription(desc).getId();
Utilities.sleep(100);
var newFolder = DriveApp.getFolderById(idNewFolder);
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment