Google Apps ScriptでGoogleドライブのサブフォルダ一覧をスプレッドシートに出力する方法

Google ドライブの特定フォルダの中にある「1階層下のサブフォルダ」の一覧を、Google スプレッドシートに出力したい!そんなときに便利なのが、Google Apps Script です。今回は、フォルダ名・フォルダID・リンク・作成日を一覧化するスクリプトをご紹介します。


📌 スクリプト全体はこちら

function listSubfolders() {
  const parentFolderId = 'ここに親フォルダのIDを入力'; // 例: '1A2B3C4D...'
  const parentFolder = DriveApp.getFolderById(parentFolderId);
  const subfolders = parentFolder.getFolders();

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.clear(); // 既存データをクリア
  sheet.appendRow(['フォルダ名', 'フォルダID', 'フォルダリンク', '作成日']); // ←列を追加

  while (subfolders.hasNext()) {
    const folder = subfolders.next();
    const folderId = folder.getId();
    const folderLink = `https://drive.google.com/drive/folders/${folderId}`;
    sheet.appendRow([
      folder.getName(),
      folderId,
      folderLink, // ←ここにリンクを追加
      folder.getDateCreated()
    ]);
  }
}

🛠 使い方

  1. Google スプレッドシートを開く
  2. メニュー「拡張機能」→「Apps Script」を開く
  3. 上記のコードを貼り付け
  4. 'ここに親フォルダのIDを入力' を、調べたい親フォルダのIDに置き換える
     ※フォルダのURLが https://drive.google.com/drive/folders/1A2B3C4D5E... なら、その「1A2B3C4D5E…」の部分がIDです。
  5. スクリプトを保存し、関数 listSubfolders を実行

✅ 出力される内容

フォルダ名フォルダIDフォルダリンク作成日
example-folder1A2B3C4Dhttps://drive.google.com/drive/folders/1A2B3C4Dyyyy/mm/dd

このように、サブフォルダを一括で一覧にしてくれるので、フォルダ整理や進捗管理、共有リストの作成などにも役立ちます。


📝 おわりに

手動でフォルダを1つずつ確認するのは地味に面倒…。ですが、Google Apps Script を使えば一瞬で一覧化できて、とても便利です!Googleドライブをよく使う方は、ぜひ活用してみてください。

この記事を書いた人

田島 佑清

2児の父 / ネクストメディア株式会社のエンジニア