LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Monday, April 29, 2019

Googleドライブのフォルダ内でファイル名が一致するドキュメントのテキストを取得したい


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

Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...