Мне нужна помощь, пожалуйста ... кажется легкой, но я застрял. Я нашел этот код и немного изменил его, чтобы создать папку из листов Google, затем я хотел бы получить соответствующие folderId и dateCreated. Я могу создать тестовую папку, но она не перебирает строки и не печатает значения folderId и dateCreated. Я тестирую две новые папки, которые будут созданы на Google Диске.
Моя электронная таблица содержит следующее:
(A) New Parent Folder
(A2) New folder1
(A3) New folder2
(B) Folder Id - print the parent folderId
(B2) Print New folder1 folderId
(B3) Print New folder2 folderId
(C) Date Created - print the creation date
(C2) Print New folder1 dateCreated
(C3) Print New folder2 dateCreated
(D) Root Folder
(D2) Root Folder URL
// MakeFolders
function create(){
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('Make Folders');
var project = sheet.getRange(2,1,sheet.getLastRow()).getValues();
var lastColumn = 4;
var projectName = project[0][0];
var parentId = project [0][1];
var date = project [0][2];
var rootFolder = project [0][3];
for (i=0; i<projectName.length ; i++){
if (projectName == '') {
return false;
} else {
var rootURL = sheet.getRange('D2').getValue();
var newFolder = DriveApp.getFolderById(rootURL).createFolder(projectName);
var name = newFolder.getName(); // substring(7);
var file = DriveApp.getFileById('XXXX').makeCopy(newFolder);
}
sheet.getRange(2,2).setValue(newFolder.getId());
sheet.getRange(2,3).setValue(newFolder.getDateCreated());
}
}
Скрипт перебирает только A2 и продолжает создавать одну и ту же папку. возможно, мой цикл был неправильным ... Я хотел бы, чтобы код мог проходить через ColumnA (если есть новые данные) и печатать идентификатор папки и дату создания в листе Google.
TIA за вашу помощь.
Я обновил свой код, но первая созданная мною папка не вытащила и не опубликовала информацию о 1-ой папке, но она сделала для второй папки. Как это исправить? Я что-то пропустил?
function createFolders(){
var ss= SpreadsheetApp.openById("XXX")
var sheet = ss.getSheetByName('Make Folders');
var project = sheet.getRange(2,2,sheet.getLastRow(),sheet.getLastColumn()).getValues(); //data
for (i=0; i<project.length-1; i++){
var root = project [i][0];
var folderName = project[i][1];
var id = project[i][2];
var datec = project[i][3];
var rootid = ss.getRange('A2').getValue(); //user enters the root folder id
var newFolder = DriveApp.getFolderById(rootid).createFolder(project[i][0]);
}
sheet.getRange(i+1,3,1,2).setValues([ [newFolder.getId(), newFolder.getDateCreated()] ]);
}