我已经通过StackOverflow广泛搜索了解决方案,并找到了三到四个贴近我正在寻找的帖子。下面的代码似乎最接近我想要做的事情,有一个小故障:它只发送第一行的数据(无论单元格发生了哪一行发生)。我怀疑问题出在getRange行的结构中,但我不知道如何修复它。
设置:我打开了一个Google表格,其中B列填充了一个选项下拉菜单。 G栏有电子邮件地址。其他列包含通过Google表单输入的数据。
目标:当我更改B列单元格(状态)的值时,我希望脚本自动向G列中的地址发送电子邮件(使用列B的新值和第I列的数据)。 / p>
当前体验/问题:当我更改B列中的值时,在任何行中,电子邮件将发送到第2行中包含该行数据的地址,而不是我所在行的地址改变。
这是我的代码......
function SendNotification(e) {
var spreadsheet = SpreadsheetApp.openById("MY UNIQUE SHEET ID");
var sheet = SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]);
var statusUpdate = sheet.getRange("B2:B").getValue();
var requestedItem = sheet.getRange("I2:I").getValue();
//Range must start at G2, otherwise the header returns a non-valid email error.
var emailToSend = sheet.getRange("G2:G").getValue();
{
MailApp.sendEmail(emailToSend, "Status Update - Resource Request", "Your resource request for " + requestedItem+ " was just updated to: " + statusUpdate+ ".");
}
}
我感谢任何帮助!