【GAS】フォルダに他のフォルダを追加するaddFolderを完全マスター

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
icon_for_DriveApp_addFolder

フォルダに他のフォルダを追加する— addFolder()

今回紹介するメソッドは、Googleドライブのフォルダに他のフォルダを追加する方法をご紹介します。

Googleドライブのフォルダやファイルの性質についてはaddFile()の紹介ページで合わせてご紹介していますので、そちらの冒頭をご確認下さい。

今回ご紹介するaddFolder()メソッドはプログラム的にフォルダに他のフォルダを追加する処理になります。

addFolderはDriveApp.addFolder()という使い方と、Folder.addFolder()という使い方の2つあります。これは、フォルダを指定するかしないかという違いだけになりまして、DriveApp.addFolder()の場合は、フォルダを指定しない方法ですのでマイドライブに対象フォルダが追加されます。Folder.addFolder()の場合は、Folderで指定されたフォルダへ対象フォルダが追加されます。

        1. addFolder(child)

『 引数に入れる値 』

  • child(Folderオブジェクト) — 追加したいフォルダを指定

addFolder(child)

サンプルコード1
//マイドライブにフォルダを追加するプログラム
function sampleCode1ForDriveAppAddFolder1() {
  var folderId = ""; //フォルダIDを指定
  var child = DriveApp.getFolderById(folderId);
  DriveApp.addFolder(child);
}

『 変数の説明 』

folderId = マイドライブに追加したいフォルダIDを指定
child = マイドライブに追加したいフォルダ

フォルダIDを確認する方法は、いくつかありますが、簡単なのはフォルダを開いた時のURL「https://drive.google.com/drive/folders/1wSmjp4v1S9lEg_PpsouIqLlMqOYu6Bhg」の赤文字部分がID部分になります。

スクリプトができたら▶ボタンでプログラムを実行してみましょう。既にマイドライブに所属している状況ではなにも変化がありませんので、追加予定のフォルダはマイドライブ以外に保存しておいて下さい。実行が完了するとマイドライブにIDで指定したフォルダが追加されていると思います。マイドライブに移動して確認するか、ファイルの詳細情報を確認してみて下さい。詳細情報が表示されていない場合は、下記スクリーンショットのアイコンをクリックすると表示することができます。

詳細情報表示アイコン

詳細情報を確認すると、マイドライブにフォルダが追加されていることが確認できると思います。

addFolder実行結果①

サンプルコード2
//指定したフォルダにフォルダを追加するプログラム
function sampleCode1ForDriveAppAddFolder2() {
  var destinationId = ""; //追加先のフォルダIDを指定
  var destinationFolder = DriveApp.getFolderById(destinationId);
  var folderId = ""; //フォルダIDを指定
  var child = DriveApp.getFolderById(folderId);
  destinationFolder.addFolder(child);
}

『 変数の説明 』

destinationId = 追加先のフォルダIDを指定
destinationFolder = 追加先のフォルダ
folderId = 追加したいフォルダIDを指定
child = 追加したいフォルダ

サンプルコード2は、指定したフォルダに移動対象のフォルダを追加するコードになります。追加予定のフォルダは追加先のフォルダに格納していない状態で実行して下さい。実行が完了すると対象フォルダの詳細情報からもパスにフォルダが追加されたことが確認できると思います。

addFolder実行結果②

まとめ

今回はGoogleドライブ上のフォルダ構成の仕組みの説明と、addFolder()メソッドの使い方をスクリーンショットとサンプルコードで説明をしました。Google Apps Scriptでフォルダに他のフォルダを移動させる時に使うコードになりますが、addFolderだけではフォルダを複数のフォルダに所属させるだけなので、移動は完了しません。移動させたい場合はremoveFolder()メソッドを併用して移動元のフォルダ情報を削除する必要があります。そのやり方はこちらの投稿で説明を行います。

SNSでもご購読できます。

コメントを残す

*