Google Sheets AppScript 将单元格导出到具有动态文件夹名称的 HTML 文件

Google Sheets AppScript Export Cell to HTML file with dynamic folder name

我目前有一个应用程序脚本,可以将单元格的内容导出到下面 google 个工作表中的 HTML 文件中:

function saveToTextfile() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getActiveSheet();
var rg = sh.getRange(1, 1, sh.getLastRow(), 2);
var vs = rg.getValues();
var folder = DriveApp.getFolderById('1rTOhLtYzFAtPH-NuO-uu7OXYH4Ri6vFK')
var files = folder.getFiles();
while (files.hasNext()) files.next().setTrashed(true);
vs.forEach(r => folder.createFile(r[0] + '.html', r[1]) );

}

这非常有效,但是,我想添加另一个步骤以将文件导出到文件夹名称,该文件夹名称也将基于单元格值。因此,例如,不是简单地导出文件“Index-1.html”、“Index-2.html”等,我想以这种方式导出“/1/index.html”、“/ 2/index.html”。我希望这是清楚的。

非常感谢任何帮助:)

尝试

function saveToTextfile() {
  var ss = SpreadsheetApp.getActive();
  var sh = ss.getActiveSheet();
  var rg = sh.getRange(1, 1, sh.getLastRow(), 2);
  var vs = rg.getValues();
  vs.forEach(r => DriveApp.getFolderById(getChildId('1rTOhLtYzFAtPH-NuO-uu7OXYH4Ri6vFK', r[0])).createFile('index.html', r[1]));
}
function getChildId(parentId, name) {
  var parent = DriveApp.getFolderById(parentId);
  var id;
  var folders = parent.getFoldersByName(name);
  if (folders.hasNext()) {
    var folder = folders.next();
    id = folder.getId();
    var files = folder.getFiles();
    while (files.hasNext()) {
      var file = files.next();
      if (file.getName() == 'index.html') { file.setTrashed(true) }
    }
  }
  else {
    var folder = parent.createFolder(name);
    id = folder.getId();
  }
  return id;
}