LoginSignup
1

More than 1 year has passed since last update.

GoogleAppScriptでGoogleDriveフォルダ内のファイル一覧を取得

Posted at

やりたいこと

GoogleDriveフォルダ内にあるスプレッドシートのURLと最終更新日を
スプレッドシートに出力したい

やってみた

function getFileList() {
  
  var sheet = SpreadsheetApp.openById('スプレッドシートIDを記入').getSheetByName('シート名');
  var Allfiles = DriveApp.getFolderById('フォルダIDを記入').getFiles();

  let row = 1; //開始行
  const reg = /^.*シート$/;  //末尾が「シート」で終わるものを抜き出したかったため正規表現で記載
  
  while (Allfiles.hasNext()) {
    
    let file = Allfiles.next();
    
    let name = file.getName();
    let lasttime = file.getLastUpdated()
    let url = file.getUrl();
 
    if (name.match(reg)) { //条件に合致するファイル名のみ書き込み
      sheet.getRange(row, 2).setValue(name);
      sheet.getRange(row, 3).setValue(lasttime);      
      sheet.getRange(row, 4).setValue(url);      
      row++;
    }
  }  
}

hasnext()は、まだ取り出していないファイルが存在するかどうかを判定、戻り値はtrue/false
next()は、まだ取り出していないファイルを取り出す、戻り値はFileオブジェクト

今回は、ファイル名、最終更新時間、URLのみを取得しましたが、
ファイル関数は他にも取得できる情報があります。
https://developers.google.com/apps-script/reference/drive/drive-app

本当は、最終更新時間と共に、最終更新ユーザも取得したかったのですが、
今のところ方法は見つかっていません…

参考

https://excel-ubara.com/apps_script1/GAS037.html
を参考にしました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1