Googleドライブでは、「1つのファイル」を「複数のフォルダ」に追加(配置)することができます。
フォルダ1,2,3の中にある「テストファイル」は、コピーでもショートカットでもなく、すべて同一のファイルです。
そのため、フォルダ3で「テストファイル」を削除すると、フォルダ1,2の中からも「テストファイル」は消えます。
(普段Windowsしか使ってないと、この概念はビックリですよね)
Googleドライブ上で、ファイルが追加(配置)されているフォルダの一覧を確認することができます。
対象のファイルを選択し、画面右上の「詳細を表示」をクリックします。「パス」に表示されているフォルダ名が、そのファイルが追加されているフォルダです。
この記事では、GASを使って、スプレッドシートが追加(配置)されている全てのフォルダを取得する方法を紹介します。
スポンサーリンク
スプレッドシートが追加されている全てのフォルダを取得する
ここでは、「スプレッドシート」が追加されている全てのフォルダの、
- フォルダID
- フォルダ名
を取得するスクリプトを紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
function getParentFolders(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var ssId = ss.getId(); //スプレッドシートのIDを取得 /* getParentsメソッド:Fileの直接の親であるフォルダのコレクションを取得する 戻り値:FolderIterator */ var parentFolders = DriveApp.getFileById(ssId).getParents(); /* hasNextメソッド:nextメソッドでアイテムが返るか 戻り値:Boolean */ while (parentFolders.hasNext()) { /* nextメソッド:ファイルまたはフォルダのコレクション内の次のアイテムを取得 戻り値:Folder */ var folder = parentFolders.next(); var folderId = folder.getId(); var folderName = folder.getName(); Logger.log('folderId => %s', folderId); Logger.log('folderName => %s', folderName); } } |
実行結果です。3つのフォルダの「フォルダID」と「フォルダ名」を取得できました。
1 2 3 4 5 6 |
[20-03-14 22:02:42:340 JST] folderId => 1KaX9ocPguCrzxxxxxxxxxxxxxxxxxxxx [20-03-14 22:02:42:342 JST] folderName => フォルダ3 [20-03-14 22:02:42:424 JST] folderId => 1nxesYgs7euypxxxxxxxxxxxxxxxxxxxx [20-03-14 22:02:42:426 JST] folderName => フォルダ2 [20-03-14 22:02:42:519 JST] folderId => 1JGgrpRrNi4C1xxxxxxxxxxxxxxxxxxxx [20-03-14 22:02:42:521 JST] folderName => フォルダ1 |
(参考)ファイルをフォルダに追加する方法
「フォルダ1」の中にある「テストファイル」を「フォルダ2」に追加する方法です。
まず、対象のファイルを選択して、[Shift] +[Z] を押します。
追加したいフォルダ(ここではフォルダ2)を選択して、「追加」をクリックします。
フォルダ2を開くと、「テストファイル」が追加されているのが確認できます。
以上です!
スポンサーリンク
スポンサーリンク