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

109
Vistas
¿Cómo enviar una matriz de datos en un correo electrónico sin hacer un bucle en el script de aplicaciones de Google?

Estoy escribiendo una función de correo electrónico que se supone que debe enviar un correo electrónico de TODOS los datos de rango en la hoja de cálculo después de hacer clic en un botón, el problema es que no puedo recibir un correo electrónico con todos los datos, en cambio, cada correo electrónico se envía individualmente a través del ciclo. ¿Hay alguna manera de que pueda enviar todos los datos como datos HTML en un solo correo electrónico? Cuando coloco var htmlMessage=emailTemp.evaluate().getContent(); fuera del bucle que activa BarcodeT no está definido.

 function email(){ var Barcode=0; var Name=1; var Added=2; var Price=3; var emailTemp=HtmlService.createTemplateFromFile("Email"); var ws=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Refill Request"); var data = ws.getRange("A3:D" + ws.getLastRow()).getValues(); let BarcodeT=""; let NameT=""; let AddedT=""; let PriceT=""; data.forEach(function(row){ BarcodeT+=emailTemp.ItemCode=row[Barcode]; NameT+=emailTemp.ItemName=row[Name]; AddedT+=emailTemp.QuantityNeeded=row[Added]; var htmlMessage=emailTemp.evaluate().getContent(); }) var address = "test@gmail.com"; MailApp.sendEmail(address,"Refill Request","Your email doesn't support HTML.", {name: "Email App", htmlBody: htmlMessage})
 <!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <table> <tr> <th>Item Code</th> <th>Item Name</th> <th>Quantity Needed</th> </tr> <tr> <td><?=BarcodeT ?></td> <td><?=ItemName ?></td> <td><?=QuantityNeeded ?></td> </tr> </table> </body> </html>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En su guión, ¿qué tal la siguiente modificación?

Guión modificado:

 function email() { var Barcode = 0; var Name = 1; var Added = 2; var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Refill Request"); var data = ws.getRange("A3:D" + ws.getLastRow()).getValues(); var htmlMessage = "<table><tr><th>Item Code</th><th>Item Name</th><th>Quantity Needed</th></tr>"; data.forEach(function (row) { htmlMessage += `<tr><td>${row[Barcode]}</td><td>${row[Name]}</td><td>${row[Added]}</td></tr>`; }); htmlMessage += "</table>"; var address = "test@gmail.com"; MailApp.sendEmail(address, "Refill Request", "Your email doesn't support HTML.", { name: "Email App", htmlBody: htmlMessage }); }
  • En esta modificación, la tabla HTML se crea directamente en Google Apps Script y se utiliza como cuerpo HTML.
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