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

400
Vistas
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 Respuestas
Responde la pregunta

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 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