Googleドライブのフォルダ内のドキュメントからテキストを取得したい
ではシンプルに取得するコードを書きたくて並べ替えまではやりませんでしたが、ここでは並び替えるところまで書きました。
コード.gs
/************************************ フォルダ内のファイルを取得して ファイル名で昇順に並べ替えて ファイルIDたちの配列を返す ************************************/ function getFileArray() { var folderId = "ID"; var fileArray = []; var files = getFiles(folderId); for(var i = 0; i < files.length; i++) { var name = files[i]['name']; var id = files[i]['id']; var text = files[i]['text']; fileArray.push([name, id, text]); } Logger.log(fileArray); } /************************************ フォルダ内のファイルを取得して 昇順にして返す ************************************/ function getFiles(folderId) { var fileProps = []; var folder = DriveApp.getFolderById(folderId); var contents = folder.getFiles(); while(contents.hasNext()) { var file = contents.next(); var name = file.getName(); var id = file.getId(); var text = getDocText(id); var obj = {}; obj["name"] = name; obj["id"] = id; obj["text"] = text; fileProps.push(obj); } var sorted = objSort(fileProps); return fileProps; } /************************************ ドキュメントのテキストを取得する ************************************/ function getDocText(id) { var doc = DocumentApp.openById(id); var text = doc.getBody().getText(); return text; } /************************************ 並べ替える ************************************/ 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; } } |
関連記事
Googleドライブのフォルダ内のドキュメントからテキストを取得したい
Googleドライブ内のファイルをファイル名で並べ替えて取得したい