Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

187
Vistas
GAS - Apps Script recupera el último identificador de carpeta creado

Estoy haciendo una aplicación de secuencia de comandos de aplicaciones que almacenará algunos datos dentro de las carpetas que pretendo crear según la fecha actual, es decir, la secuencia de comandos buscará si dentro de una carpeta principal con una identificación conocida hay una carpeta con el nombre del año actual, si no hay luego creará la carpeta, luego verificará qué mes es y creará la carpeta del mes dentro de la carpeta del año, por último creará una carpeta personalizada con datos personalizados dentro de la carpeta del mes. El problema es que solo pude crear la carpeta del año con el siguiente código:

 function createFolder(date){ var year = date.substring(6,10); var month = meses[date.substring(3,5)]; var yearFolder var parentFolder = DriveApp.getFolderById(parentFolderId); // Gets FolderIterator for yearFolder yearFolders = parentFolder.getFoldersByName(year); /* Checks if FolderIterator has Folders with given name Assuming there's only a yearFolder with given name... */ while (yearFolders.hasNext()) { yearFolder = yearFolders.next(); } if (!yearFolder) {parentFolder.createFolder(year); } }

Quiero usar el mismo código para crear el mes y las carpetas personalizadas, pero el problema es que no puedo recuperar la identificación de la carpeta del año creada y luego la del mes. ¿Cómo puedo hacerlo?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si mi entendimiento con su objetivo es correcto, no necesita obtener la identificación de la carpeta, solo use el yearFolder recién creado. Solo asegúrese de asignarlo a la variable yearFolder para almacenar ese objeto de carpeta si no existe.

A menos que su objetivo sea almacenar esos ID, este enfoque también debería funcionar.

Retazo:

 yearFolders = parentFolder.getFoldersByName(year); while (yearFolders.hasNext()) yearFolder = yearFolders.next(); if (!yearFolder) // Store returned folder object into yearFolder if it doesn't exist // Then use it for the month counterpart yearFolder = parentFolder.createFolder(year); // Repeat above code but now uses yearFolder as parentFolder monthFolders = yearFolder.getFoldersByName(month); while (monthFolders.hasNext()) monthFolder = monthFolders.next(); if (!monthFolder) monthFolder = yearFolder.createFolder(month); // Then create custom folder in monthFolder, then following the file customFolder = monthFolder.createFolder('customFolder'); customFolder.createFile('customData', customData)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Para obtener la identificación de la carpeta "año", reemplace

 if (!yearFolder) {parentFolder.createFolder(year); }

por

 if (!yearFolder) { yearFolder = parentFolder.createFolder(year); } const yearFolderId = yearFolder.getId();
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda