ルーティンワークでドライブにフォルダを作成する時に
フォルダをまるっと階層下までコピーできないので、スクリプトを書いてみました。
目次
ドライブにある特定のフォルダにフォルダを生成する方法
- まず、指定先のドライブのフォルダID(※TESTという名前にしてます)を取得します。
https://drive.google.com/drive/folders/?????????????????
???の部分をコピーします。
- 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]);
}
}
- ドライブの場所に行くとフォルダが生成されます。
親のフォルダ名を「明日の日付」にしたい場合
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となりました。
まとめ
説明は省きますが、このスクリプトをストップウォッチアイコンを押して、
トリガーにセットすれば、毎日または毎週、指定した場所にフォルダが自動で作成することもできます。