フォルダIDはGoogleドライブのURLが下記の場合、
https://drive.google.com/drive/u/0/folders/hogehoge
のhogehoge部分です
コードサンプル
一行ごとに処理、シートに反映するを実現するためにsheet.getRange(1, 1, 1, 1).getValues();
しております。
他の方法があれば教えてください!
function download() { colorReset() const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getActiveSheet(); const rows = sheet.getLastRow() - 1; const datas = sheet.getRange(2, 1, rows, 4).getValues(); datas.forEach(function (data, index) { sheet.getRange(1, 1, 1, 1).getValues(); colorSet("#00ffaa", index, "ダウンロード中") sheet.getRange(1, 1, 1, 1).getValues(); const url = data[0]; const folder = DriveApp.getFolderById(data[3]); const option = { method: "get" } const response = UrlFetchApp.fetch(url, option); const blob = response.getBlob(); let newFile = folder.createFile(blob); newFile.setName(data[1] + data[2]); colorSet("#ee00aa", index, "完了") }); } function colorReset() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getActiveSheet(); const rows = sheet.getLastRow(); sheet.getRange(1, 1, rows, 4).setBackground("#ffffff") sheet.getRange(2, 5, rows - 1, 1).setValue("準備中") } function colorSet(color, index, text) { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getActiveSheet(); sheet.getRange(index + 2, 1, 1, 4).setBackground(color) sheet.getRange(index + 2, 5, 1, 1).setValue(text) } //起動時にメニューを手動項目で追加する function onOpen() { const ui = SpreadsheetApp.getUi(); ui.createMenu("ダウンロードはこちら").addItem("ダウンロード", "download").addItem("色をリセット", "colorReset").addToUi(); }