Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

435
Visualizações
¿Cómo confirmar los cambios realizados en la celda activa antes de ejecutar el script? (Hojas de cálculo de Google / Google Apps Script)

Estoy creando un formulario de envío en Hojas de cálculo de Google con Google Apps Script. El formulario está en una página, y los envíos se mueven a una segunda página oculta. Cuando los usuarios completan el formulario, presionan un botón en la página de envío para activar el script.

El problema con el que me encuentro es que cuando el usuario completa la última celda y luego hace clic en el botón, los datos que se ingresan en la última celda aún no parecen estar comprometidos con la página, por lo que no son tomados por el script (usando sheet_sub.getRange("C7").getValue(); ). Traté de activate() otra celda y flush() , pero eso no parece funcionar. Todo lo demás sobre el guión es funcional.

¿Cómo puedo asegurarme de que los datos se guarden en la hoja para poder acceder a ellos? Gracias de antemano por su ayuda.

Editar: Incluyendo el código a continuación

 function submitNomination() { var sheet_sub = getSheet("Submission Form"); var sheet_list = getSheet("List of Nominations"); // Find last row in list var lastRow = sheet_list.getRange("A1").getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow(); // Grab values from submission form var nominee = sheet_sub.getRange("C5:F5").getValue(); var nominator = sheet_sub.getRange("C6:F6").getValue(); var category = sheet_sub.getRange("C7:F7").getValue(); var reason = sheet_sub.getRange("C8:F12").getValue(); // Enter values into the list sheet_list.getRange('R'+(lastRow+1)+'C1').setValue(Utilities.formatDate(new Date(), "America/Detroit","yyyy-MM-dd HH:mm:ss")); sheet_list.getRange('R'+(lastRow+1)+'C2').setValue(nominee); sheet_list.getRange('R'+(lastRow+1)+'C3').setValue(nominator); sheet_list.getRange('R'+(lastRow+1)+'C4').setValue(reason); sheet_list.getRange('R'+(lastRow+1)+'C5').setValue(category); // Clear submission form sheet_sub.getRange("C5:F12").clearContent(); } function getSheet(sheetName){ var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName); return sheet; }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Siempre que el valor de la última celda no se confirme, solo existe en el lado del cliente de la sesión del navegador del usuario y no se puede recuperar desde Google Sheets / Apps Script o Sheets API.

Piense en los usuarios que trabajan en la misma hoja de cálculo. Antes de que el usuario A confirme sus cambios, el usuario B no los verá en su versión de la hoja de cálculo, ni tendrá ningún poder para confirmar esos cambios.

Entonces, si desea que las modificaciones de los usuarios se puedan recuperar al hacer clic en el botón, la única forma es solicitar al usuario que confirme sus cambios antes de presionar el botón. Puede hacerlo, por ejemplo, con una alerta/mensaje que aparece al hacer clic en el botón y le pregunta al usuario si ha realizado los cambios antes de hacer clic en el botón.

Alternativamente, puede pensar en una implementación sin un botón.

Por ejemplo, puede publicar su secuencia de comandos como una aplicación web y pegar un hipervínculo a la URL de la aplicación web en una celda que actúa como un botón:

ingrese la descripción de la imagen aquí

Esto puede parecer menos estético que un botón real; sin embargo, al hacer clic en la celda del botón, los últimos cambios del usuario se confirmarán automáticamente.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda