はじまり

よっしゃあ、今回はGoogle DriveにあるフォルダをGoogle Spreadsheet上に取得する方法を紹介だあ!

ほおほお、まあGoogleドライブでフォルダを管理するなら、地味に欲しいよね。
白米を食ってるときに欲しくなる沢庵くらいのポジションだよね。

そうだな・・・、必須ではないけど欲しいくらいのものだな。よし、行ってみよう!

はあー、沢庵食いたくなってきたあ。買ってこよー。
ツールの紹介
今回のツールは、下記のシートの赤線で囲まれた部分になります。

「getFolderListInFolder」ボタンを押すとスクリプトが走り、終了するとA3~C3セル以降の行に値が入ります。
- A列・・・ファイル名
- B列・・・ファイルのID
- C列・・・ファイルのURL
ちなみに、D列にあるHYPERLINK関数を別のセルに貼り付けると、セルにハイパーリンクが付いたフォルダ名が入力されます。

ソートすれば、スクリプトを走らせる前のような順序になります。

シートの造り
図形描画で作成した四角形を右クリックすると右上に三点リーダー(︙)が表示されるので、そこをクリックして「スクリプトを割り当て」をクリックすると・・・。

スクリプトを割り当てられるので、「getFolderListInFolder」を入力してOKします。

スクリプトの紹介
以下が今回使用したスクリプトになります。
拡張機能から「Apps Script」を開いて、以下のスクリプトを打ち込んで先程のシートの設定をすると、使用できます。
i
で開始行を、column_for_fileList
で開始列を指定して、そこを基準に欲しいデータをシートに入力するようにしています。
コード.gs
function getFolderListInFolder() {
var folder = DriveApp.getRootFolder(),
sheetName = '【出力結果】フォルダのURL',
key = DriveApp.getRootFolder().getId(),
ss;
name = "",
i = 3, //フォルダを処理する行位置
column_for_fileList = 1; // A列のインデックス
ss = SpreadsheetApp.getActive();
sheet = ss.getSheetByName(sheetName);
var folders = DriveApp.searchFolders("'"+key+"' in parents");
while(folders.hasNext()) {
i++;
var folder = folders.next();
sheet.getRange(i, 0+column_for_fileList).setValue(name + folder.getName());
sheet.getRange(i, 1+column_for_fileList).setValue(folder.getId());
sheet.getRange(i, 2+column_for_fileList).setValue(folder.getUrl());
}
}
おしまい

よし、今回はこんなもんだな・・・!
・・・・・・

よし、今回はこんなもんだな・・・!
・・・・・・

あれ? まじで沢庵を買いに行ってるのか・・・。なかなか長いな・・・。

はあはあ、ただい丸大豆醤油~!!

おかえリコーの複合機~。
丸大豆醤油じゃなくて、沢庵を買ってきたんじゃないの?

ああ、この際だから沢庵を育てようと思って!! 大根買ってきた!!

すぐ食いたいんじゃなかったの?

まあ、必須ではないけど欲しいくらいのものだからね。

あんなに即決で走ったんだよなあ・・・?
おまけ

今回使ったシートの他の関数を紹介した記事は以下になります。よければ見てみて下さい!
以上になります!
コメント