1 (edited by va.nikolaev2017 2017.01.26 06:01)

Topic: Как создать папку в Google Drive с названием из ячейки Google таблицы

Здравствуйте!

Как создать в готовой папке  вложенную папку в Google Drive с названием из ячейки Google таблицы?

2

Re: Как создать папку в Google Drive с названием из ячейки Google таблицы

Получить значение ячейки листа писали об этом тут

Когда получили значение

var nameDir = valueCell;

Создать директорию

DriveApp.createFolder(nameDir);

1

3

Re: Как создать папку в Google Drive с названием из ячейки Google таблицы

Спасибо за ответы!
методом тыка пока иду - только учусь, получилось создать папку по имени активной ячейки, а как можно создать ту же папку - но указать путь - например - Мои документы\готовые\(здесь должна создаться та папка по имени активной ячейки)

4

Re: Как создать папку в Google Drive с названием из ячейки Google таблицы

va.nikolaev2017 wrote:

а как можно создать ту же папку - но указать путь - например - Мои документы\готовые\(здесь должна создаться та папка по имени активной ячейки)

Наверное что то вроде этого:

function createFolderFromPathName(fullPathToFolder) {
  var paths = fullPathToFolder.split("/");
  var curFolder = DriveApp.getRootFolder();
  for(var i = 0; i < paths.length; i++) {
    var folders = curFolder.getFoldersByName(paths[i]);
    curFolder = folders.hasNext() ? folders.next() : curFolder.createFolder(paths[i]);
  }  
  return curFolder;
}

Или так:

function createFolderFromPathName(newFolder){
  var paths = newFolder.split("/");
  var curPath = "";
  var folders = DriveApp.getRootFolder().getFolders();
  var curFolder = DriveApp.getRootFolder();
  var folder;

  for(path in paths){
    var hasFolder = false;

    while(!hasFolder && folders.hasNext()){
      folder = folders.next();
      if(paths[path] == folder.getName()){
        hasFolder = true;
      } 

      if(hasFolder){
        folders = DriveApp.getFolderById(DocsList.getFolder(curPath+paths[path]).getId()).getFolders();
        curPath = curPath == "" ? paths[path] + "/" : curPath + paths[path] + "/"; 
        curFolder = DocsList.getFolder(curPath);
      } 
    } 

    if(!hasFolder){
      curFolder = curFolder.createFolder(paths[path]);
    } 
  }  
 return curFolder;
}

function test(){
 createFolderFromPathName("Folder/Design/Test"); 
}

Я не тестировал, но с виду выглядит логично...

1

5

Re: Как создать папку в Google Drive с названием из ячейки Google таблицы

Ругается на "TypeError: Не удается вызвать метод "split" "

$matches[1]

Здесь нашел подходящий код - https://gist.github.com/oshliaer/c47c63 … 4550411ded

1