首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Apps脚本中按所需格式发送电子邮件

在Apps脚本中按所需格式发送电子邮件
EN

Stack Overflow用户
提问于 2017-08-13 05:24:07
回答 2查看 327关注 0票数 0

我有一个脚本来发送电子邮件,但它不是按照我想要的格式发送。你能像这样发送电子邮件吗?

现在我的剧本是这样发送的:-

信托基金,无资金,平台,链接,TF,无资金,数据,链接,日期,日期,资金,领域,领域,所做的改变,,,5月7日至02年,注册,2037.41,Shaji Vadakke Parambath,Vinay Gupta,Add圆形,,,...

我的代码是:

EN

回答 2

Stack Overflow用户

发布于 2017-08-13 15:18:22

你可以用这样的循环。如果您想得到更好的响应,将来我建议允许我们访问具有与示例一致的数据的电子表格,并访问脚本编辑器。很难从图像中复制代码或数据。这样就不太可能有人站出来帮你了。如果您能亲自尝试一下代码,也将不胜感激。这个代码确实有效,我用假数据对其进行了测试。

这将分隔它发送的行中的所有值。最后一列必须为空,才有资格发送,而8列不得为空。

代码语言:javascript
复制
function SendingEmails()
{
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var startRow=5;
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var subject='Your Subject';
  var emailaddress='Your Email Address';
  for(var i=startRow-1;i<vA.length;i++)
  {
    if(!vA[i][vA[0].length-1] && vA[i][7])//not already sent and some data is available
    {
      //Logger.log('Send Mail: %s',formatAsTable(vA[i]));
      //var userInterface=HtmlService.createHtmlOutput(formatAsTable(vA[i]));
      //SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Format As Table')
      MailApp.sendEmail(emailaddres,subject,vA[i].join(','))
      sh.getRange(i+1,vA[0].length).setValue('mailsent');
    }
  }
}

function formatAsTable(vA)
{
  var s='<style>table{border:1px solid #000;}th,td{border:1px solid #000;}"</style><table><tr>';
  for(var i=0;i<vA.length-1;i++)
  {
    s+='<td>' + vA[i] + '</td>';
  }
  s+='</tr></table>';
  return s;
}
票数 1
EN

Stack Overflow用户

发布于 2017-08-13 20:33:02

我建议您安装SheetConverter (由David (Mogsdad)创建)。谷歌它和它给出了很好的指导如何安装库。我修改了给出的示例如下:

代码语言:javascript
复制
function example() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var range = ss.getActiveSheet().getDataRange();
 var conv = SheetConverter.init(ss.getSpreadsheetTimeZone(),
                            ss.getSpreadsheetLocale());
 // Grab an array for formatted content
 var array = conv.convertRange(range);
   // Get a html table version, with all formatting
  var html = conv.convertRange2html(range);
  MailApp.sendEmail(Session.getActiveUser().getEmail(), 'Daily report','' ,{htmlBody: html})
}

它发送了一个测试我完美地设置了你的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45657384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档