google-apps-script - 从谷歌表格发送电子邮件
问题描述
我正在尝试发送一封包含 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 个单元格
解决方案
概括
如果我从您的问题和评论中正确理解:
- 您在单元格中有一个电子邮件地址
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);
}
推荐阅读
- java - Develop a web application for running test cases
- android - 从 firebase 获取特定数据
- vue.js - vue-router 是否适用于内联模板?
- bazel - Bazel 如何解释标签中的 `/`、`:`、`//` 和 `@` 等特殊词位?
- c++ - 模板依赖 false
- tortoisehg - 仅将 TortoiseHg Workbench 历史记录限制到特定分支
- javascript - 在引导程序中隐藏和显示按钮
- javascript - iContact API 在 JS 谷歌脚本中创建联系人调用
- java - 如何处理 Spring JDBC native Query IN 参数中的 999 大小?
- elasticsearch - 如何在 Elasticsearch 中最好地创建父子关系