首页 > 解决方案 > 从谷歌表格发送电子邮件

问题描述

我正在尝试发送一封包含 2 列数据作为电子邮件正文的电子邮件,并且电子邮件的主题行由其中一列中的 3 个单元格组成(参见代码段)。

在此处输入图像描述

这是我最后一次尝试!!

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 1; // First row of data to process
  var numRows = 2; // Number of rows to process
  // Fetch the range of cells A2:B3
  var dataRange = sheet.getRange(startRow, 1, numRows,2);
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[0]; // First column
    var message = row[1,2]; // Second column
    var subject = 'Here is your BUY DRAFT from Ben's Auto';
    MailApp.sendEmail(emailAddress, subject, message);
  }
}

我只能在电子邮件正文中显示 1 个单元格

标签: google-apps-scriptgoogle-sheets

解决方案


概括

如果我从您的问题和评论中正确理解:

  • 您在单元格中有一个电子邮件地址A1
  • 您想将单元格的全部内容B1:C15(2 列,15 行)附加到邮件正文
  • 您想发送一封邮件,邮件正文如上定义

在这种情况下,请修改您的代码如下:

 function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 1; 
  var numRows = 15; // from your description it seems like you want to append to body the data of all 15 rows
  // Fetch the range of cells B1:C15
  var dataRange = sheet.getRange(startRow, 2, numRows,2);
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  var message='';  
  var emailAddress = sheet.getRange('A1').getValue(); 
  for (var i=0;i<data.length;i++) {
    var row = data[i];
    message = message+row[0] + " " + row[1]+'\n';
   }    
  var subject = 'Here is your BUY DRAFT from Ben\'s Auto';
  MailApp.sendEmail(emailAddress, subject, message);
}

推荐阅读