[GAS] Googleドライブのフォルダ内ファイルの一覧作成
はじめに
いやー、すごい時代ですね。
というわけで、意味なくgenerated.photosの画像を使わせてもらいました。
最近気になる
glideというサービスです。
自分のGoogleシートのデータを使って簡単にスマホアプリが作れてしまうという。
いやー、すごい時代ですね。(もういいよ)
そんなわけで、たまにはGoogle Apps Scriptネタでも。
Googleドライブのフォルダ内ファイルの一覧作成
Googleシートのアクティブシートに書き出します。
コードです。
var SpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); var Sheet = SpreadSheet.getActiveSheet(); var ResultAry = []; //対象とするフォルダ var TargetFolder = DriveApp.getFolderById("*******適宜*******"); //フォルダ内にあるファイルの名前とURLを列挙する function listUpFilesData(){ var targetFiles = TargetFolder.getFiles(); var addAry = [1]; //タイトル行 addAry[0] = 'ファイル名'; addAry[1] = 'URL'; ResultAry.push(addAry); //ファイルの数だけ繰り返し while(targetFiles.hasNext()){ addAry = [1]; var file = targetFiles.next(); addAry[0] = file.getName(); addAry[1] = file.getUrl(); ResultAry.push(addAry); } var len = ResultAry.length; Sheet.clear(); var range = Sheet.getRange(1,1,len,2); range.setValues(ResultAry); }
ポイント
GASでGoogleシートを操作する時は
値を読む「getValue(s)」と値を入力する「setValue(s)」
をよく使うことになります。
が、軽い気持ちでfor文で回しながら使うととても時間がかかる。
ということで、シートに一気に吐き出す配列を使って処理をしてます。
これってExcelVBAで複数のセルの値をVariantに入れるのとそっくりですね!
結果
こんな感じです。
まあ素っ気ない!