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

399
Views
Envío de datos de formulario a hoja externa (script de Google)

Creé un formulario de entrada de datos en las hojas de Google, ahora tengo problemas para guardar dicha entrada en una hoja externa hasta ahora esto es lo que tengo, no sé si estoy usando el método correcto para hacer referencia a la hoja.

por favor mira los comentarios, gracias

Cada vez que intento enviar el formulario, aparece lastRow Null

ingrese la descripción de la imagen aquí

 function submitData() { //variable declaration for referenceing the active google sheet var myGoogleSheet = SpreadsheetApp.getActiveSpreadsheet(); var shUserForm = myGoogleSheet.getSheetByName('MasterSheet'); //open external sheet var extSS = SpreadsheetApp.openById("1U9SmfPCH9v8maqh6XL0dmRL85TJZfckUV7SAEGM3pQo"); var datasheet= extSS.getSheetByName("Mastersheet"); var srcData = shUserForm.getDataRange().getValues(); //to create the instance of the ui environment to use the alert features var ui = SpreadsheetApp.getUi(); var response = ui.alert("Submit", "Do you want to submit the data?", ui.ButtonSet.YES_NO); //checking the user response if ( response == ui.NO) { return; // to ext from this function } if ( validateEntry()== true) { var blankRow =datasheet.getLastRow() + 1; //identify the next blank row //'code to update the database sheet ( write data entry to DB sheet) datasheet.getRange(blankRow,1).setValue(srcData.getRange("C7").getValue()); //input number datasheet.getRange(blankRow,2).setValue(srcData.getRange("C9").getValue()); //Department datasheet.getRange(blankRow,3).setValue(srcData.getRange("C11").getValue()); //Agent Name datasheet.getRange(blankRow,4).setValue(srcData.getRange("C13").getValue()); //Hub location datasheet.getRange(blankRow,9).setValue(srcData.getRange("C15").getValue()); //order ID datasheet.getRange(blankRow,10).setValue(srcData.getRange("C20").getValue()); //type of entry datasheet.getRange(blankRow,5).setValue(Session.getActiveUser().getEmail()); //Submitted By, this will automatically get user email datasheet.getRange(blankRow,7).setValue(new Date()).setNumberFormat('yyyy-mm-dd h:mm:'); datasheet.getRange(blankRow,8).setValue(new Date()).setNumberFormat('yyyy-mm-dd h:mm:'); datasheet.getRange(blankRow,6).setValue(srcData.getRange("C17").getValue()); //comments ui.alert(' "New Data Saved - Input #' + shUserForm.getRange("C7").getValue() + '"'); shUserForm.getRange("C7").clear(); shUserForm.getRange("C9").clear(); shUserForm.getRange("C11").clear(); shUserForm.getRange("C13").clear(); shUserForm.getRange("C15").clear(); shUserForm.getRange("C17").clear(); } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para guardar datos en otra hoja de cálculo, primero debe abrirla usando openById("insert sheet id here") o openByUrl("insert sheet URL here") . Esto devolverá una clase de hoja de cálculo que tiene el getSheetByName("sheet name") que puede usar para acceder a la hoja.

El ID de la hoja de cálculo se puede encontrar en la URL. Esto se puede encontrar después de /d/ o antes de /edit

Identificación de ejemplo:

 https://docs.google.com/spreadsheets/d/12345/edit#gid=0

12345 es el ID de la hoja de cálculo

Ejemplo:

Código:

 function saveData() { //open current sheet var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getSheetByName("Sheet1"); //open external sheet var extSS = SpreadsheetApp.openById("Insert External Spreadsheet ID here"); var extSH = extSS.getSheetByName("Sheet1 External"); //get data from current Sheet. var srcData = sh.getDataRange().getValues(); //write to external sheet extSH.getRange(extSH.getLastRow()+1, 1, srcData.length, srcData[0].length).setValues(srcData); }

Este script pegará los valores de Sheet1 a Sheet2

Antes:

Datos de la hoja 1:

ingrese la descripción de la imagen aquí

Hoja2 Datos:

ingrese la descripción de la imagen aquí

Después:

Datos de la hoja 1:

ingrese la descripción de la imagen aquí

Hoja2 Datos:

ingrese la descripción de la imagen aquí

  • Aplicación de hoja de cálculo.openByID()
  • Aplicación de hoja de cálculo.openByURL()
  • Hoja de cálculo.getSheetByName()
  • Hoja de clase
  • Rango de clase
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!