Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

152
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!