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

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

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