[GAS]フォルダ内のURLを抽出する方法

ホーム » GAS » [GAS]フォルダ内のURLを抽出する方法

■このページを読んでわかること

GASを使用して、特定のフォルダ内のURLを抽出する方法がわかります。


■GAS実行前に準備すること

下記スプレッドシートは、GASでGoogleカレンダー登録の際に使用したスプレッドシートとなります。
こちらをまず、作成してください。
その後、GASの始め方を確認してコード入力の画面までいきます。

■フォルダの設定

対象のフォルダのフォルダIDが必要となります。
フォルダIDは下記画像にもある赤線の部分となります。
こちらを確認して、コピーしておきましょう。


■GASスクリプト入力画面

下記画像の画面までいければ問題ありません


■実際のコード

function getFileListInFolder() {

  var folder_id = ‘ここにフォルダIDを入力してください’;

  var url = ‘https://drive.google.com/drive/folders/’ + folder_id,  // フォルダIDを入力する.

      paths = url.split(‘/’), // Separate URL into an array of strings by separating the string into substrings. 

      folderId = paths[paths.length – 1], // Get a last element of paths array.

      folder = DriveApp.getFolderById(folderId),

      files = folder.getFiles(),

      list = [],

      rowIndex = 4, // The starting row of a range.//処理開始行

      colIndex = 5, // The starting row of a column.//出力する列番号

      ss, sheet,range,

      sheetName = ‘実行するシート名を入力してください’;

  // Creating a data array from a files iterator.

  // Note: Latest file is the first.

  while(files.hasNext()) {

    var buff = files.next();

    list.push([buff.getName(), buff.getUrl()]);

  };

  // folder.getFiles()では、ファイルは新しいものが最初に来ます

  // 登録された順にしたいので、reverse() で調整します

  list = list.reverse()

  ss = SpreadsheetApp.getActive();

  sheet = ss.getSheetByName(sheetName);

  range = sheet.getRange(rowIndex, colIndex, list.length, list[0].length);

  // 対象の範囲にまとめて書き出します

  range.setValues(list);

}

コピペするだけで、対象のフォルダの中身がURLとして作成したスプレッドシートに出力されます。


■最後に

実際にコードを書く以外でプログラミングが上達するのは難しいです。
しかし、どういったことがGASで出来るのかというのを理解しておくことが
上達の一歩になると思います。
GASの始め方
GASを使用したカレンダー登録
[GAS]GASを使用したメール一斉送信

タイトルとURLをコピーしました