【发布时间】:2015-06-24 19:55:52
【问题描述】:
提前致歉 - 我不是程序员。只是想为我的生意拼凑一些东西。目前,我有一个引用电子表格并向我的接待员发送自动电子邮件的脚本。该脚本提供了我想要的所有信息,但问题是它会为每个条目发送一封单独的电子邮件。理想情况下,我想向我的接待员发送一封电子邮件,其中包含即将到来的一天的所有约会列表。
我遇到的问题包括:
- 我需要将多封电子邮件合并为一封电子邮件,其中包含第二天即将到来的约会列表。
- 我不知道如何选择我需要的行,因为它们是日期值 (DD/MM/YYYY)。因此,我正在寻找一种方法来读取日期,识别它是约会前一天,并将这些条目添加到一个列表中。
如果有人能帮我解决这个问题,将不胜感激!
这是我目前所拥有的:
function receptionist() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, 8)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[2];
var timeslot = sheet.getRange(i+2,7,1,1).getValues();
var name = sheet.getRange(i+2,2,1,1).getValues();
var date = Utilities.formatDate(new Date(sheet.getRange(i+2,6,1,1).getValue()),"EST", "E MMM dd, yyyy");
var receptionist= name+" scheduled on "+date+" at "+timeslot;
var subject = "Appt. List";
var emailAddress = "receptionist@example.com";
MailApp.sendEmail({emailAddress, subject, receptionist});
提前致谢!
【问题讨论】:
-
您只想处理两行?
var numRows = 2;或者你有更多的行,需要全部评估?for循环的终点在哪里?我看不出它在哪里结束。 -
我正在尝试处理大约 1500 行。 NumRows 设置为 2,这样我就可以在不向自己发送 1500 封单独的电子邮件的情况下进行测试。 for 循环是从我一直在调整的旧代码中提取的。我不确定它在我的情况下有什么用途,所以也许可以删除它,但为了安全起见就挂在上面。
标签: google-apps-script google-sheets gmail