自作ツール&スクリプト

【Spreadsheets】明日の日付入りのフォルダを生成する方法

spreadsheets-generate-tomorrow-date-folder

ルーティンワークでドライブにフォルダを作成する時に

フォルダをまるっと階層下までコピーできないので、スクリプトを書いてみました。

ドライブにある特定のフォルダにフォルダを生成する方法

  1. まず、指定先のドライブのフォルダID(※TESTという名前にしてます)を取得します。
https://drive.google.com/drive/folders/?????????????????

???の部分をコピーします。

  1. Google Apps Scriptを開いて下記のコードを挿入して再生ボタン
function createFolder() {
  var folderid = "Googleドライブ上のID";
  var folder = DriveApp.getFolderById(folderid);
  var foldername = "テスト"; //フォルダ名
  var newfolder = folder.createFolder(foldername);

  var childFolderid = newfolder.getId(); //テストフォルダに子フォルダを生成
  var childFolder = DriveApp.getFolderById(childFolderid);  
  var args1   = ["鈴木","山田","渡辺","佐藤","高橋","田中"];
  var folder1 = [];  
  for (var i = 0; i < args1.length; i++){
    folder1[i] = childFolder.createFolder(args1[i]);
  }
}
  1. ドライブの場所に行くとフォルダが生成されます。

親のフォルダ名を「明日の日付」にしたい場合

function createFolder() {

  var folderid = "Googleドライブ上のID";
  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"); 
  var foldername = data;  
  var newfolder = folder.createFolder(foldername);

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

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

これを実行したのが2019年5月21日なので、フォルダ名は20190522となりました。

まとめ

説明は省きますが、このスクリプトをストップウォッチアイコンを押して、

トリガーにセットすれば、毎日または毎週、指定した場所にフォルダが自動で作成することもできます。