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ドライブのフォルダ内のドキュメントからテキストを取得したい(並べ替える)