Amazonで商品を見るセール会場へ

Googleドライブ│明日の日付フォルダを自動作成する方法

はじめに、コード内のフォルダIDと名前一覧をご自身のものに変更し、作成権限のあるテスト用フォルダで試してください。

日付を日本時間で扱うため、Apps Scriptのプロジェクト設定でもタイムゾーンを日本時間にそろえてください。

このコードには同名フォルダの存在確認がないため、繰り返し実行すると同じ名前のフォルダが増えます。

Googleドライブを使って毎日の作業フォルダを作成するルーティンがあるとき、毎回手動でフォルダを作成するのは手間がかかります。

ここではGoogle Apps Scriptを使い、日付付きの親フォルダと名前付きのサブフォルダを作成する方法を紹介します。

Googleドライブで日付付きの親フォルダと名前付きのサブフォルダを自動作成する完成イメージを示しています。
目次

特定の親フォルダ内にフォルダを作成する基本手順

function createFolder() {
  var folderid = "Googleドライブ上のID"; // TESTなど任意のフォルダ
  var folder = DriveApp.getFolderById(folderid);
  var foldername = "テスト"; // 任意の名前

  var newfolder = folder.createFolder(foldername);

  // 子フォルダを作成
  var childFolder = DriveApp.getFolderById(newfolder.getId());
  var args1 = ["鈴木", "山田", "渡辺", "佐藤", "高橋", "田中"];

  for (var i = 0; i < args1.length; i++) {
    childFolder.createFolder(args1[i]);
  }
}

このコードを実行すると、指定した親フォルダ(例:TEST)の中に「テスト」フォルダが作成され、その中に6人分のサブフォルダが作成されます。

指定した親フォルダ内にテストフォルダと6人分のサブフォルダが作成されたGoogleドライブの画面例を示しています。

フォルダ名を「明日の日付」にする方法

以下の2つのコード例は、目的に合わせてどちらか一方を使用してください。

関数名が同じなので、同じプロジェクトに両方を貼り付ける必要はありません。

Googleスプレッドシートのほかの操作は、まとめからご覧いただけます。

function createFolder() {
  var folderid = "Googleドライブ上のID"; // TESTフォルダなど
  var folder = DriveApp.getFolderById(folderid);

  var now = new Date();
  var tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1);
  var data = Utilities.formatDate(tomorrow, "JST", "yyyyMMdd"); // 例:20240530

  var newfolder = folder.createFolder(data); // 明日の日付がフォルダ名に

  var childFolder = DriveApp.getFolderById(newfolder.getId());
  var args1 = ["鈴木", "山田", "渡辺", "佐藤", "高橋", "田中"];

  for (var i = 0; i < args1.length; i++) {
    childFolder.createFolder(args1[i]);
  }
}

例:2024年5月29日に実行した場合、フォルダ名は 20240530

実行結果のイメージ

実行すると、TEST フォルダの中に明日の日付フォルダ(例:20240530)が作成され、さらにその中に複数人分のサブフォルダが自動生成されます。

TEST / 20240530 / 鈴木・山田・田中…

親フォルダ内に明日の日付フォルダと複数人分のサブフォルダが自動生成された実行結果の例を示しています。

自動化の設定(トリガー)

このスクリプトを毎日・毎週などの定期スケジュールで実行する手順は次のとおりです。

  1. GASエディタの左メニューにある時計アイコン(トリガー)をクリック
  2. createFolder 関数を選択
  3. 実行タイミング(毎日・午前9時など)を設定して保存

これにより、設定した時間帯に自動で「明日の日付フォルダ+名前付きサブフォルダ」が作成されます。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。

Googleドライブのファイルやフォルダを扱う記事は、ほかにもあります。

まとめ

  • GASで明日の日付のフォルダを自動作成
  • サブフォルダも名前リストから一括作成可能
  • トリガー設定により完全自動化が可能

日々のルーティン作業を効率化したい場合にお役立てください。

時刻指定のトリガーは、午前9時を指定しても9時ちょうどの実行を保証するものではなく、9〜10時などの時間帯で実行されます。

コードは模擬環境で通常日・年末・うるう年の日付処理とフォルダ作成の呼び出しを確認しました。

実際のGoogleドライブへの作成と定期実行は、この更新時には再実行していません。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

スプレッドシート・GASのおすすめ書籍

作業環境の作り方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次