👌
【Google App Script】フォルダ内の全てのファイル名をスプシに書き出すプログラム
概要
下記記事を参考とした。基本、同じプログラムなので、詳細知りたい方はこちらのリンクへ
書き込むシートを指定
下記内容で、ファイル名を書き込むシートを指定している。
- 現在、activeとなっているスプシを選択
- そのスプシの"シート1"を選ぶ
- "シート1"で一列目を選ぶ
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('シート1');
let row = 1;
既存の内容をクリア
A列に書き込みたいので、既にあるコンテンツを削除する。
sheet.getRange(1,1,sheet.getMaxRows(),1).clearContent();
既存フォルダのファイルを取得
ファイル情報を書き出したいフォルダをIDで指定する。指定したら、上から順にファイル名を取得して、console.logでファイル名を出力する。
const files = DriveApp.getFolderById('1IkbiPWHTLsA8HI6dIMZK8K1KnWeqWah5').getFiles();
while (files.hasNext()) {
const file = files.next();
const filename = file.getName();
console.log(filename);
ファイル名を書き出す
取得したファイル名について、最初に設定した出力先のファイルに書き込む。row++とすることで、ファイルごとに次の行で書き込みを行うように設定できる。
sheet.getRange(row, 1).setValue(filename);
row++;
プログラム全体
function getFileList1_1() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('シート1');
let row = 1;
// A列の値をクリア
sheet.getRange(1,1,sheet.getMaxRows(),1).clearContent();
// 指定フォルダ内のファイルを一括取得(FileIteratorオブジェクト)
const files = DriveApp.getFolderById('xxxxx').getFiles();
while (files.hasNext()) {
const file = files.next();
const filename = file.getName();
console.log(filename);
// A列に書き込み
sheet.getRange(row, 1).setValue(filename);
row++;
}
}
引用
Discussion