Os presento la situación, primero, y luego la comento:
En un curso aprendimos a recorrer todos los archivos y subcarpetas de una carpeta dada.
Utilizamos appendRow([]) para escribir nombre, tipo y fecha de creación de cada archivo recorrido en una hoja de cálculo, ya que sabemos que es la forma más rápida y sencilla de escribir valores en una pestaña, sin tener que preocuparnos de definir ni fila ni última fila.
Pero, ya que lo habíamos conseguido, se nos ocurrió que estaría bien que lo escrito mostrará la profundidad del archivo, haciendo "sangrías" (empezando a escribir appendRow en una columna diferente a la primera (la columna A) según el árbol de las carpetas.
Tal que así:
Para ello necesitamos añadir a appendRow columnas vacías
Por ejemplo, con este appendRow([nombre,tipo,fecha]), el nombre se escribirá en la columna A
y con este diferente appendRow(['',nombre,tipo, fecha]), el nombre se escribirá en la columa B, gracias a las comillas vacías que hemos escrito antes de nombre.
El problema es que no sabemos de antemano si queremos empezar en la columna B (para una subcarpeta de primer nivel) o en la columna C, o en la D....para carpetas más internas.
Debemos, pués, crear el contenido de appendRow de forma dinámica.
La solución pasa por saber que estamos ante un array y, por lo tanto, debemos utilizar los métodos para los arrays.(Utilizaremos unshift para incluir al principio del array tantas posiciones vacías como necesitemos, utilizando ' ')
Este es el código:
Creamos un contador para saber en que columna empezamos (en el bucle de las subcarpetas), dependiendo del nivel de la subcarpeta
No hay comentarios:
Publicar un comentario