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

240
Vistas
¿Cómo enviar un correo electrónico una vez que un formulario en línea actualiza una hoja de Google?

Creé un formulario de envío en línea en tally.así vinculado a una hoja de cálculo de Google. También escribí un script que debería enviar un correo electrónico una vez que la hoja se haya actualizado con la respuesta del formulario, pero el correo electrónico no parece enviarse.

Esto es lo que he escrito. Gracias de antemano:

 var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FormSubmission"); const rData = e.source.getActiveSheet().getRange(e.range.rowStart,1,1,18).getValues(); ... if (e.range.columnStart == 3){ MailApp.sendEmail({ to: "abc@gmail.com", subject: "New Request", htmlBody: msg, noReply: true }); } }
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puntos de modificación:

  • A partir de su pregunta I created an online submission form on tally.so linked to a Google Sheet. I also wrote a script that should send an email once the sheet has been updated with the form's answer, but the email doesn't seem to send. , supuse que en su situación, el valor podría agregarse a la hoja usando Sheets API.

  • Desde e.range.columnStart y e.range.rowStart de su secuencia de comandos de visualización, es posible que esté utilizando el disparador OnEdit instalado.

Si mi entendimiento es correcto, cuando se agrega un valor a la hoja usando Sheets API, el activador OnEdit instalable no se activa. Pensé que esta podría ser la razón de su problema.

Si desea ejecutar la secuencia de comandos cuando se agrega el valor mediante Sheets API, es necesario utilizar el disparador OnChange instalado. Y, en este caso, para recuperar la fila adjunta, var rData = sheet.getRange(sheet.getLastRow(), 1, 1, 18).getValues() o var rData = sheet.getRange(sheet.getLastRow(), 1, 1, sheet.getLastColumn()).getValues() es necesario para su uso.

Cuando estos puntos se reflejen en su guión, ¿qué tal la siguiente modificación?

Guión modificado:

Instale el disparador OnChange en la función de installedOnChange . Ref Cuando use este script, envíe los valores usando su formulario.

 function installedOnChange(e) { var sheet = e.source.getSheetByName("FormSubmission"); var rData = sheet.getRange(sheet.getLastRow(), 1, 1, 18).getValues(); // Modified // do something // Please set msg. MailApp.sendEmail({ to: "abc@gmail.com", subject: "New Request", htmlBody: msg, noReply: true }); }
  • rData es el valor de la última fila de la hoja "FormSubmission".

  • Agregue su secuencia de comandos y configure msg .

  • El objeto de evento del activador OnChange no incluye la propiedad de range . Tenga cuidado con esto.

Referencia:

  • Disparadores instalables
about 4 years ago · Santiago Trujillo 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