GASでGoogleドライブにフォルダを新しく作る際、作成先の階層をどう指定するかで悩むことがあります。ここでは動的なフォルダ生成とフォルダIDの取得手順を整理します。
createFolderの落とし穴:どこに作成されるのか?
GASからGoogleドライブ上にフォルダを新規作成する際、使うのはcreateFolderメソッドです。しかし、メソッドの使い方によっては、意図せずマイドライブのルート(一番上の階層)にフォルダが作られて散らかってしまうことがよくあります。
フォルダを新規作成してフォルダIDを取得するコード
新しいフォルダを動的に作成してフォルダIDを取得するコードは次の通りです。ここではgetRootFolder()を使って基準となる親フォルダを取得しています。
const parentFolder = DriveApp.getRootFolder();
const newFolder = parentFolder.createFolder("2026年_案件フォルダ");
Logger.log("Created Folder ID: " + newFolder.getId());
意図しない階層への作成を回避する親フォルダの指定
ルート直下にフォルダが乱立するのを回避するには、作成先の階層指定を明示的に行います。具体的にはgetFolderByIdで特定の親フォルダを取得し、その配下に子フォルダを作成します。
これにより、指定したプロジェクト用フォルダの中にだけ新しいフォルダを生成するといった階層のコントロールが可能になります。
日付フォーマットを活用した月次アーカイブへの応用
フォルダの新規作成処理は、年月別アーカイブを作る際に重宝します。スクリプト内で日付フォーマットと組み合わせることで、月次フォルダを自動生成するバッチに利用できます。毎月自動で当月用の作業フォルダを準備する仕組みを組むと、手作業による作成漏れを防げます。

