重大头痛在Google脚本中创建文件夹和子文件夹

时间:2019-02-13 21:26:38

标签: google-apps-script google-sheets

请帮助我某人。

我可以使用Google工作表脚本,但是这个让我非常沮丧,我无法在任何地方找到答案。 (大声说起来很简单,但是我的天啊,将其作为脚本完成需要更多的努力!)

我正在尝试(失败!)创建一个Google工作表脚本,该脚本将创建一个文件夹和子文件夹,并在子文件夹内创建更多文件夹。

我确实没有太多代码,我确实复制并粘贴了几页代码,但是它变得越来越复杂。

我需要的是 主文件夹将是项目的名称? A列是部门(子文件夹) B,C,D列(子文件夹到A列的标题)

到我的工作表的链接在这里

https://docs.google.com/spreadsheets/d/1eJ03EC7pfxGfin5unO-aMPDE92jlvYCW-0zbnlwxHPU/edit?usp=sharing

工作表可能看起来很小,但是总共会有100多个部门,我真的不想每个月一个接一个地创建它们。

任何帮助将不胜感激,或者有人向我指出正确的方向(请不要说Google吧!)

因此,对所有Google大师的“请帮助我...”(您永远都不知道您可能也在帮助其他人:)

亲切的问候

失败的编码员!

1 个答案:

答案 0 :(得分:1)

这里的想法是:

  1. 从工作表中获取值

  2. 获取您的根文件夹

  3. 根据图纸值在根目录中创建子文件夹和子文件夹

或多或少,您会如何做:

function createFolders() {
  // part 1: getting the values
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('YOUR-SHEET');
  var values = sheet.getDataRange().getValues();

  // part 2: getting the root folder
  var rootFolder = DriveApp.getFolderById('YOUR-FOLDER-ID');

  // part 3: iterate through values to create folders
  for (var i in values) {
    // you can call DriveApp's createFolder function on another folder
    // thus the new one will be created inside the folder you're calling the function on
    var folder = rootFolder.createFolder(values[i][0]);
    folder.createFolder(values[i][3]);
  } 
}