Googleドライブのフォルダ内のドキュメントからテキストを取得したい(並べ替える)
ではフォルダ内のすべてのファイルを対象にしましたが
ここでは
フォルダ内に存在するすべてのファイルを取得してから
その中でファイル名が一致するものだけを抽出する
というコードを書きました
以下の変数内の値は各自で設定します
- folder の ID
- files のファイル名を特定する文字列
コード.gs
function getFilesBySearch0() { var folder = DriveApp.getFolderById("ID"); var files = folder.searchFiles('title contains "ファイル名を特定する文字列"'); var fileProps = []; while (files.hasNext()) { var file = files.next(); var id = file.getId(); var name = file.getName(); var text = getDocText(id); var obj = {} obj['id'] = id; obj['name'] = name; obj['text'] = text; fileProps.push(obj); } objSort(fileProps); Logger.log(fileProps); console.log(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ドライブのフォルダ内のドキュメントからテキストを取得したい(並べ替える)