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

153
Vistas
Al intentar importar todos los archivos de hojas de Google dentro de una carpeta a una hoja de cálculo, todos los encabezados de columna son iguales

Necesito poder tomar todos los archivos de una carpeta dentro de la unidad e ingresar los datos en la hoja de cálculo. También estoy creando una pestaña de menú para poder ejecutar el script sin tener que ir al editor. Sería genial si pudiera crear una forma de ingresar nombres de carpetas existentes sin tener que ir siempre al script para realizar ese paso adicional. Este es el script que estoy usando. Realmente necesito ayuda con esto.

 function importTimesheets() { var spreadsheets = DriveApp. getFolderById(""). getFilesByType(MimeType.GOOGLE_SHEETS); var data = []; while (spreadsheets.hasNext()) { var currentSpreadsheet = SpreadsheetApp.openById(spreadsheets.next().getId()); data = data.concat(currentSpreadsheet .getSheetByName('Timesheet') .getRange("A3:L10") .getValues() ); } SpreadsheetApp. getActiveSheet(). getRange(1, 1, data.length, data[0].length). setValues(data); } function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Generate Timesheets') .addItem('Generate', 'importTimesheets')
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Según tengo entendido, está tratando de encontrar una solución para esta línea de código, por lo que actualmente debe ingresar la identificación manualmente.

 DriveApp.getFolderById("")

Mi sugerencia sería solicitar al usuario la identificación de la carpeta, ya que solicitar el nombre de la carpeta puede causar errores si más de una carpeta tiene el mismo nombre. Mi sugerencia se implementa de la siguiente manera:

 const folderId = SpreadsheetApp.getUi().prompt("Please enter the Folder Id").getResponseText() const folder = DriveApp.getFolderById(folderId)

También puede usar el selector de archivos/carpetas de Google, como se describe aquí , para buscar y seleccionar la carpeta.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Prueba esto:

 var level=0; function getFnF(folder = DriveApp.getRootFolder()) { const ss=SpreadsheetApp.getActive(); const sh=ss.getSheetByName('Sheet1') const files=folder.getFilesByType(MimeType.GOOGLE_SHEETS); while(files.hasNext()) { let file=files.next(); let firg=sh.getRange(sh.getLastRow() + 1,level + 1); firg.setValue(Utilities.formatString('File: %s', file.getName()));//need editing } const subfolders=folder.getFolders() while(subfolders.hasNext()) { let subfolder=subfolders.next(); let forg=sh.getRange(sh.getLastRow() + 1,level + 1); forg.setValue(Utilities.formatString('Fldr: %s', subfolder.getName()));//needs editing level++; getFnF(subfolder); } level--; } function runThisFirst() { let r = SpreadsheetApp.getUi().prompt('Folder id','Enter Folder Id',SpreadsheetApp.getUi().ButtonSet.OK); let folder = DriveApp.getFolderById(r.getResponseText()) getFnF(folder); }
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