Google apps script 如何从电子表格发送电子邮件
我有一个关于谷歌文档的电子表格,上面有我们正在工作的工作任务。我希望它做的是将整行发送给预期的收件人,但我只能让它从电子邮件地址后的第一列发送信息。每件事都有一个截止日期,我想让它发送一个提醒,当它接近那个日期,但我不知道如何做到这一点 任何帮助都将不胜感激。 以下是我现在掌握的代码:Google apps script 如何从电子表格发送电子邮件,google-apps-script,Google Apps Script,我有一个关于谷歌文档的电子表格,上面有我们正在工作的工作任务。我希望它做的是将整行发送给预期的收件人,但我只能让它从电子邮件地址后的第一列发送信息。每件事都有一个截止日期,我想让它发送一个提醒,当它接近那个日期,但我不知道如何做到这一点 任何帮助都将不胜感激。 以下是我现在掌握的代码: function sendEmails() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 3; // First row o
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 3; // 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]; // Column B, Column C, Column D, Column E, Column F, Column G
var subject = "Email Test Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message);
}
}
当您这样定义数据范围时:
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
您可以从startRow第1列中读取numRows的数据,但只能读取2列(最后一个值是“宽度”),因此您可以轻松修改脚本,只需更改最后一个值即可获得所需的所有列。然后使用行[i].toString(),您将得到逗号分隔的字段
然后,您可能希望获得更好的表示,例如使用HTML格式在表中显示数据,但这超出了问题的重点;-) 当您定义这样的数据范围时
var dataRange = sheet.getRange(startRow, 1, numRows, 2);
您正在从A3:C5
您也可以参考
如果您可以根据问题的描述发布一份样本电子表格,那么其他人将对您有所帮助。这篇文章:
var message=row[1]
将仅获取数组中的第二个元素(索引1)。您需要遍历该行以获取所有数组元素
var message = row[1];
message.concat(row[2]);
message.concat(row[3]);
等等。或者你可以建立一个循环
而要获得射程,为什么要这么辛苦呢<代码>表.getRange(“A2:B3”)代码>
这就是你所说的你试图在这一行上面的评论中得到的范围,尽管它只有4个单元格sheet.getRange(“A2:G3”)
将两行输出到G列。
当然,如果向工作表中添加行,则每次都必须修改代码
相反,试试这个
var bottomRow = sheet.getLastRow();
var rangeInA1 = "A2:G"+bottomRow;
var dataRange = sheet.getRange(rangeInA1);
你能详细说明一下吗“每样东西都有一个到期日,我想让它在临近到期日时发送提醒”