【发布时间】:2012-07-19 21:41:09
【问题描述】:
我想对"Sending emails from a Spreadsheet" tutorial on the Google Developers page 做一个变体。
我想做他们引导我完成的事情,除了在每次发送电子邮件时标记每行中的单元格时,我想在单独的表格上标记。
因此,在“NeedReminders”工作表上,我的脚本在 A 列中查找应向其发送电子邮件的成员的电子邮件地址(然后变为变量“emailAddress”)。它将电子邮件发送到该地址。
那么--这是我需要帮助的地方--我希望脚本转到“主”表,找到 emailAddress 在 X 列中的行,然后--在同一行中--设置BT 列。
应该不难。我只是不一定知道如何执行“查找列 X 等于 emailAddress 的行并将 BT 的值设置为今天的日期”部分。
谁能帮忙?提前致谢!
到目前为止,这是我的代码(我总是不好意思展示我的代码,因为我确信它是可怕的少年,所以请温柔一点!):
function sendDuesReminder() {
var sheet = SpreadsheetApp.openById('___').getSheetByName('NeedReminders');
var startRow = 4; // There are a bunch of headers and other nonsense.
var valueSheet = SpreadsheetApp.openById('___').getSheetByName('Master');
// Determine how many rows to process
var rowRange = sheet.getRange(3,4); // On my sheet, cell D3 counts how many members are on the list of people who need a reminder e-mail.
var rowData = rowRange.getValue();
// End Determine how many rows to process
// Send e-mail
var dataRange = sheet.getRange(startRow, 1, rowData, 2);
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
// var emailAddress = row[0]; //Column A: E-mail Address
var name = row[1]; //Column B: First Name
var subject = "Reminder About Dues for Newcomers & Neighbors";
MailApp.sendEmail("matt@twodoebs.com", subject, "Hi, " + name + ". It's been some time since we received your online registration for Newcomers & Neighbors. But we don't seem to have received your dues payment, yet. So we wanted to drop you a quick line and remind you about it." + "\n\n" + "If you think we should have received your payment by now or there's some kind of a mistake, please let us know by responding to this message." + "\n\n" + "Otherwise, please send a check for __ made payable to ___ to:" + "\n\n" + "___" + "\n" + "___" + "\n" + "___" + "\n" + "___" + "\n\n" + "Thanks! Please don't hesitate to reach out if you have any questions." + "\n" + "___" + "\n" + "___" + "\n\n" + "Best wishes," + "\n\n" + "Kati" + "\n" + "Membership Director",
{name:"___"});
// End Send E-Mail
// Set that an a-(Experimental)
var valueRange = valueSheet.getRange // Here's where I kind of break down . . . I need *something* here that searches the sheet for emailAddress
setValue(today()) //I'm also not sure that this is the right way to set the value as today's date
SpreadsheetApp.flush();
// End Set value
}
Browser.msgBox("OK. Reminder messages have been sent. doebtown rocks the house!")
}
【问题讨论】:
-
这是您询问代码片段的第三个问题,您似乎从不回答或检查已回答的任何答案...您至少阅读它们吗?花时间提供帮助的人通常喜欢知道它很有用......至少我这样做:-)
-
天哪,我完全阅读了它们。我非常感谢大家给我的所有帮助。我没有意识到我应该将事情标记为已回答。我会回去做那件事。感谢您提供线索!
-
好的。我检查了我的几个旧帖子的答案。这就是我应该做的一切吗?
-
@Serge:我完全同意你的看法。这是贡献者的期望,并让他们有动力回答问题
-
明白了。将承诺更好地检查已回答的问题。我总是感谢每个人的贡献;如果没有大家的贡献,我会很迷茫。也就是说,有人对这个小困境有什么想法吗?