【问题标题】:Script that will email data from Google Sheets将从 Google 表格通过电子邮件发送数据的脚本
【发布时间】:2020-01-25 04:27:22
【问题描述】:

我创建了一个脚本来通过电子邮件发送 Google 表格中特定范围内的数据,但这些数据一起运行。我需要对脚本进行哪些更改,以便将数据以电子邮件正文或表格格式的单独行排列?

数据位于单元格A5:B16 中,实际上是从电子表格的其他部分提取过滤数据的公式。该过滤器是一个基于日期的过滤器,因此在单元格A5:B15 中返回的数据每周都会变化。我想在本周初收到一封包含新数据的电子邮件。 代码“有效”,但难以阅读。我需要对我的脚本进行哪些更改,以便将数据安排在电子邮件正文中的单独行中?另外,如何格式化日期?

function sendEmails() {
  var recipient = 'john.doe@gmail.com'; 
  var subject = "New Hires starting this week";  
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 5;
  var numRows = 10; 
  var dataRange = sheet.getRange(startRow, 1, numRows, 2);
  var message = dataRange.getValues();
  MailApp.sendEmail(recipient, subject, message);
} 

这就是电子邮件的外观:

姓名,结束日期,Jane Doe,2019 年 9 月 27 日星期五 00:00:00 GMT-0400 (EDT),John Hancock,2019 年 9 月 27 日星期五 00:00:00 GMT-0400 (EDT),Joe Smith,星期五9月27日 2019 00:00:00 GMT-0400 (EDT),,,,,,,,,,

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:
    function sendEmails() {
      var recipient = 'john.doe@gmail.com'; 
      var subject = "New Hires starting this week";  
      var sheet = SpreadsheetApp.getActiveSheet();
      var startRow = 5;
      var numRows = 10; 
      var dataRange = sheet.getRange(startRow, 1, numRows, 2);
      var message = dataRange.getValues();
      var s='';
      for(var i=0;i<message.length;i++) {
        var dt=Utilities.formatDate(new Date(message[i][1]),Session.getScriptTimeZone(),"MM-dd-yyyy");
        s+=Utilities.formatString('%s: %s\n',message[i][0],dt);
      }
      GmailApp.sendEmail(recipient, subject, s);
    } 
    

    Utilities.formatString()

    我假设您在第 1 列中有元数据,在第 2 列中有数据。如果这不正确,请告诉我它可能很容易修复。

    【讨论】:

    • 谢谢,有帮助! B 列数据是一个日期。要删除时间信息,我假设我需要添加 formatDate(date, timeZone, "mm-dd-yyyy"),但不确定在哪里?
    • 谢谢,日期格式的编辑效果很好。由于数据每周变化,并且可能有或多或少的数据行,我添加了一个新变量: var endRow = sheet.getLastRow() 并将 numRows 更改为: var numRows = endRow - 1
    猜你喜欢
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多