GASでスプレッドシートの担当者リストからGoogleドライブフォルダを自動作成する方法

毎回手動で行っていた「担当者ごとのドライブフォルダ作成&URL記録」の作業をGASで自動化しました。
初心者なりに書いたコードとその過程を、実体験ベースで記録しておきます。

このブログは、Google Apps Script(GAS)を使った自作ツールの記録や、開発の過程での気づきをまとめたものです。
丁寧な解説というより、「こんなこともGASでできるんだ」というアイディアのきっかけになれば幸いです。

やりたかったこと

イベントやプロジェクトのたびに、スプレッドシートの担当者リストをもとにGoogleドライブにフォルダを作っていました。その手間を省きたくて、GASで自動化することにしました。

使ったロジック・ポイント

今回のフォルダ作成ツールでは、GASの基本的なDrive・SpreadsheetAPIを組み合わせて実装しています。以下に、処理のポイントを整理します。

① 名前の取得

  • スプレッドシートのA列にある担当者名を読み込む
  • 空欄や重複の処理は今回は未対応(今後対応したい)

② フォルダの作成

  • 親フォルダIDをあらかじめ指定
  • 名前をフォルダ名として使って新しいフォルダを作成

③ URLの書き込み

  • 作成したフォルダのURLをB列に記録
  • 位置をズラさないよう注意

コード例

GASの操作が初めての方は、コードを開く・実行する手順をご確認ください。初回実行時の認証については、認証ガイドで紹介しています。

以下が実際に使ったコードの一例です。フォルダを作ってURLを記録するシンプルな流れです。

function createFoldersFromSheet() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues();
  const parentFolderId = 'ここに親フォルダのIDを入れる';
  const parentFolder = DriveApp.getFolderById(parentFolderId);

  for (let i = 0; i < data.length; i++) {
    const name = data[i][0];
    if (!name) continue;

    const newFolder = parentFolder.createFolder(name);
    sheet.getRange(i + 2, 2).setValue(newFolder.getUrl());
  }
}

メモ・反省・次回やりたいこと

禁止文字(例:「/」)が入ってるとエラーになるので、今後は自動除去か変換を入れたいです。
この処理の後にPDF保存も自動でやるようにしたら、かなりスムーズになりました
フォルダとスプシ自体もテンプレからコピーして作れたら、もっと作業がラクになりそうです。
通知メールも追加できたら完璧になるので、次回チャレンジ予定です。

自分の業務に自動化機能を追加したい方へ

フォルダ作成や保存先の整理など、ファイル管理を自動化する機能を追加したい方はご相談ください。今の作業と希望する自動化を伺い、対応できる範囲をご案内します。

トップページへ戻る