Googleドライブ内のファイルをファイル名で並べ替えて取得したい
のフォルダ版
特定のフォルダ内のフォルダをフォルダ名で並べ替えます
コード.gs
/************************************ フォルダ内のフォルダを取得して フォルダ名で昇順に並べ替えて フォルダ名とIDの配列を返す ************************************/ function getFolderArray() { var parentFolderId = "ID"; var folderArray = []; var folders = getFolders(parentFolderId); for(var i = 0; i < folders.length; i++) { var name = folders[i]['name']; var id = folders[i]['id']; folderArray.push([name, id]); } Logger.log(folderArray); } /************************************ フォルダ内のフォルダを取得して 昇順にして返す ************************************/ function getFolders(parentFolderId) { var folderProps = []; var parentFolder = DriveApp.getFolderById(parentFolderId); var contents = parentFolder.getFolders(); while(contents.hasNext()) { var folder = contents.next(); var name = folder.getName(); var id = folder.getId(); var obj = {}; obj["name"] = name; obj["id"] = id; folderProps.push(obj); } var sorted = objSort(folderProps); return folderProps; } /************************************ 並べ替える ************************************/ function objSort(fileProps) { var ascending = fileProps.sort(asc); return ascending; } /************************************ nameで昇順に並べ替える ************************************/ function asc(a, b){ var A = a.name; var B = b.name; if(A > B){ return 1; }else if(A < B ){ return -1; }else{ return 0; } } |