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

541
Visualizações
Respuestas condicionales de respuesta de formulario de Hojas de cálculo de Google

Soy relativamente nuevo en la codificación, especialmente en Javascript. Estoy trabajando en un formulario de Google que se vincula a una hoja de Google y quiero una notificación condicional de que cuando respondan una determinada respuesta, notificará al gerente de departamentos por correo electrónico.

Esencialmente, necesito mi secuencia de comandos para buscar el valor de una celda que contiene el correo electrónico para enviar.

Estoy usando un gráfico BUSCARV para ingresar automáticamente el correo electrónico de ese departamento en función de la pregunta del departamento que respondan.

Además, necesito una forma de activar esta función para que se ejecute cuando se ingresa una nueva respuesta. Asegurarse de que solo se envíe un correo electrónico para la nueva respuesta y no para las anteriores.

ingrese la descripción de la imagen aquí

Mi correo electrónico tendrá la línea del mensaje y el asunto usando este código a continuación:

 var recipient = emailAddress var message = '' var subject = 'Department Alert'; MailApp.sendEmail(emailAddress, subject, message);

¿Alguna idea sobre cómo lograr esto?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Este código hará el trabajo por ti.

Instale el disparador onFOrmSubmit . Entonces debería ser bueno para ir.

 function onFormSubmit(e) { const form = FormApp.getActiveForm(); const items = form.getItems(); const formResponses = e.response; const arr = []; let receiptant_name; for (i in items) { let each_response = formResponses.getResponseForItem(items[i]).getResponse(); // this column has the supervisor name, you can change column title into yours. if (items[i].getTitle() == 'Supervisor Name') { // return a list of name receiptant_name = each_response; } if (typeof(each_response) == "object") { each_response ='<div>' + each_response.map(r => { return '<div>'+r+'</div>';}).join('') + '</div>'; } const title = items[i].getTitle(); arr.push([title, each_response]); } const emailbody = return_emailbody(arr); const receiptant_email = return_supv_email(receiptant_name); sendEmail(receiptant_email, emailbody); } //this function to map form responses into html table. function return_emailbody(responsearray) { let mail_array = []; responsearray.forEach(r => { if (r[1] === null || r[1] === '') { r[1] = 'N/A'; } mail_array.push('<tr><td>' + r[1] + '</td></tr>') }); const competed_template = htmltemplate(mail_array.join('')); return competed_template; } //sheet id contains the supervisor email.Default Sheet1, you can change to your sheet name. function return_supv_email(sheetid,supv_name) { //receive name list const values = sheet_data_return(sheetid, 'Sheet1'); let email_list = []; for(i in supv_name){ values.filter(record => { if (record[1].replace(/\s/g, '').includes(supv_name[i].replace(/\s/g, ''))) { email_list.push (record[2]); } }); } return email_list.toString(); } function sheet_data_return(id, sheet_Name) { return SpreadsheetApp.openById(id).getSheetByName(sheet_Name).getDataRange().getDisplayValues(); } function sendEmail(recipient, emailbody) { GmailApp.sendEmail( recipient, 'FORM GOT A NEW RESPONSE', emailbody, { htmlBody: emailbody, name: 'GOOGLE FORM RESPONSE', }); } //you can edit your this HTML template to make your email look better. function htmltemplate(emailbody) { let template = '<!DOCTYPE html> <html> <head> <base target="_top"> </head><body><table>{body}</table> </body> </html>'; template = template.replace('{body}', emailbody); return template; }
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