Entiende el código correctamente previamente a adaptarlo a tu proyecto si ttienes algo que aportar puedes comentarlo.
Solución:
Para acceder a las subcarpetas, puede hacerlo de esta manera,
function getSubFolders(parent)
parent = parent.getId();
var childFolder = DriveApp.getFolderById(parent).getFolders();
while(childFolder.hasNext())
var child = childFolder.next();
Logger.log(child.getName());
getSubFolders(child);
return;
function listFolders()
var parentFolder = DriveApp.getFolderById("0B1n6YLYwFmK_dUpzRWhDRXNwdWc");
var childFolders = parentFolder.getFolders();
while(childFolders.hasNext())
var child = childFolders.next();
Logger.log(child.getName());
getSubFolders(child);
Este Google Script generará un Google Drive Tree con todos los archivos y carpetas.
Copie este script en su editor de scripts. Seleccione la función “genFolderTree” del menú “Seleccionar función”. Cambie el nombre de la carpeta raíz ‘RootDir’ a su directorio raíz en la función genFolderTree()
var foldername = 'RootDir';
El código fuente de Google Script –
function genFolderTree()
try
var foldername = 'RootDir';
var folderlisting = 'TreeView_' + foldername;
var parentFolder = DriveApp.getFoldersByName(foldername).next();
var ss = SpreadsheetApp.create(folderlisting);
var sheet = ss.getActiveSheet();
var frontCell = [];
sheet.appendRow([foldername]).getCurrentCell().setFontWeight('bold').setFontColor('red');
frontCell.push(" ");
getChildNode(parentFolder,sheet,frontCell);
var files = parentFolder.getFiles();
while (files.hasNext())
frontCell.push(files.next().getName());
sheet.appendRow( frontCell);
frontCell.pop();
catch (e)
Logger.log(e.toString());
function getChildNode(parent,sheet,frontCell)
var childFolders = parent.getFolders();
while (childFolders.hasNext())
var childFolder = childFolders.next();
frontCell.push(childFolder.getName())
sheet.appendRow(frontCell);
sheet.getRange(sheet.getLastRow(), frontCell.length).setFontWeight('bold').setFontColor('red');
frontCell.pop();
var files = childFolder.getFiles();
frontCell.push(" ");
var start_row = 0;
var row_no = 0;
while (files.hasNext())
frontCell.push(files.next().getName());
sheet.appendRow(frontCell);
if(row_no==0)
start_row = sheet.getLastRow();
row_no=row_no+1;
frontCell.pop();
if(row_no>0)
var range;
range = sheet.getRange(start_row, frontCell.length,row_no);
// The row grouping depth is increased by row_no.
range.shiftRowGroupDepth(1);
// Recursive call for any sub-folders
getChildNode(childFolder,sheet,frontCell);
frontCell.pop();
Puedes descargar la fuente desde el enlace de Github
Sección de Reseñas y Valoraciones
Recuerda algo, que puedes agregar una reseña si diste con la contestación.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)