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

241
Visualizações
¿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 Respostas
Responde à pergunta

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