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