12:00createFolderDriveAppsgetFolderByIdTweetPocketフォルダを階層化して一気に作成したいプロジェクトごとにドキュメントの管理をする上で、フォルダごとに設計資料や営業関係の資料、マニュアルなどなどフォルダ分けてして管理すると思います。これをプロジェクトが発足するたびに作るの面倒なだなーと思ってスクリプトでのやり方を調査。ServiceというClassがあったのでこれを使います。フォルダの作成をしてみます。以下のような階層のフォルダ構成を作成してみます。単純に自分のルートディレクトリにフォルダの作成をするには以下のように記述します。DriveApp.createFolder("テストプロジェクト");createFolderメソッドに引数に作成するフォルダ名を渡します。戻り値は、Folderクラスになります。これをfolderという変数に保存しています。これは、この作成したフォルダの中にさらにフォルダを作成するために戻り値を保存しておく必要があります。次にテストプロジェクトフォルダの下の階層を作成。folder変数のクラスを使って、createFolderメソッドを同じように実行します。folder.createFolder(args1[i]);}作成するフォルダが複数なので、フォルダ名を配列(args1)に保存して、それを元にフォルダ作成をします。その際に、作成したフォルダの戻り値も配列(folder1)に保存しておきます。下の階層を作成するためです。フォルダの中に「運用マニュアル」「顧客情報」のフォルダを作成します。i++){folder1[2].createFolder(args2[i]);}3階層目のフォルダ名も2階層目と同じように配列(args2)に保存しておきます。それを繰り返すのですが、2階層目の「運用関係」フォルダのクラス(folder1[2])がターゲットなので、それに対してcreateFolderメソッドを実行します。この階層が最後なので、戻り値は取っていません。できたらこのプログラムを実行します。実行したらGoogleDriveのマイドライブ直下にフォルダが作成されているか確認してみましょう。できた!\(^o^)/ちゃんと3階層目まで出来上がっています。これでフォルダ作成が楽になる。指定のフォルダの中にフォルダを作成するもう少しアレンジ。先程はマイドライブ直下に作成したのですが、指定したフォルダの中にフォルダを作成したい場合はどうするか?その場合、フォルダIDを指定してフォルダを作成することになります。フォルダのIDをどこで取得するかというところから。指定するフォルダをGoogleDriveで選択して、そのURLを確認してください。foldersパス以下の乱数がIDになります。GoogleDriveのフォルダIDhttps://drive.google.com/drive/folders/{フォルダid}1https://drive.google.com/drive/folders/{フォルダid}これをコピーして以下のようにプログラムを書き換えます。i++){folder1[2].createFolder(args2[i]);}}DriveAppsクラスのgetFolderByIdメソッドにフォルダIDを渡すと戻り値のFolderクラスが返ってくるので、これを基準にフォルダ作成をすればOK。ここだけで他は変えなくて大丈夫です。「株式会社まなびと」の代表取締役はじめました。宮崎県で活動するフロントエンドエンジニア。フロントエンド業の傍らWordPressのプラグイン開発や公式テーマレビュー、Webマーケティングやプログラミング教室の講師などのいろいろなお仕事をしてます。JSerでPHPer。