関数で生成した変数をグローバル変数に反映させたいと考えています。
(フォルダは1つあればいいので、関数は1日1回時間トリガーで起動することを考えています)
解決法を教えていただけないでしょうか。
以下コードです。
GoogleAppsScript
1//グローバル変数 2const sourceFolderId = "*****"; //親フォルダID(変更なし) 3 4//毎日日付フォルダを生成する関数 5function createFolder() { 6 const folder = DriveApp.getFolderById(sourceFolderId); 7 8 //名前が今日の日付のフォルダを生成 9 let today = new Date(); 10 today = Utilities.formatDate(today, "JST", "dd"); 11 const dateName = `${today}日`; 12 newFolder = folder.createFolder(dateName); 13 return newFolder; 14} 15 16const newFolderId = newFolder.getId(); //日付フォルダID
createFolder関数から値(連想配列など)を返せば良いだけではないですか?
業務内容を依頼しているように見えるので、実際に業務であっても「業務」という言葉は出さないほうが良いと思います。
グローバル変数に反映するのは不可能でしょうか。
その理由は関数は1日1回だけ起動すれば良く、その日はずっとグローバル変数に同じIDを持たせておきたいため。
もしその方法が不可能であれば、条件分岐で同じ名前がある場合は、翌日の名前のフォルダがすでに存在する場合は処理を飛ばすなどの対応にしたいと思います。
私自身が新聞社で働いており、自分の業務を簡易化するための改善です。
業務内容を「丸投げ」しているように読めるので、問題を切り分けして、現象を再現可能な最小限のコードに落とし込むのが最善かと思います。
https://ja.stackoverflow.com/help/minimal-reproducible-example
回答3件
あなたの回答
tips
プレビュー