Google 编辑单元格时工作表通知?

Google Sheets Notifications When Cell is Edited?

我有一个电子表格,我希望在编辑特定单元格时向指定用户发送电子邮件。因此,例如,触发列是 J 列。我的目标是在编辑单元格(例如 J4)时,它会自动向单元格 A4 中提供的电子邮件地址发送一封电子邮件。我知道这需要脚本。

这是我想出的:

function onEditTrigger(e){
  var range = e.range;
  var intCol = range.getColumn();

  if (intCol == 10)                                           // Check for column J
  {
    var intRow = range.getRow();                              // Get the row number of the edited cell
    var sheet = SpreadsheetApp.getActiveSheet();
    var dataRange = sheet.getRange(intRow, 1, 1, 3);          // Select columns A to C on the same row as the edited cell
    var dataValues = dataRange.getValues();                   // Get the values in the selected range and store them in the dataValues array

    MailApp.sendEmail(dataValues[0][0], "Notification", "Value in column C: " + dataValues[0][2]); // dataValues[0][0] = e-mail address, dataValues[0][2] = additional information
  }
}

然后在脚本编辑器的资源菜单中手动将触发器设置为 onEdit

该脚本几乎是不言自明的,因为我在其中添加了一些评论。但基本上,脚本首先检查用户是否编辑了 "trigger" 列。如果是 "trigger" 列,它会获取该编辑单元格的行号,并在 A 列中获取相应的电子邮件地址,并在同一行的 C 列中获取其他信息。然后会向该电子邮件地址发送一封通知电子邮件,主题为 "Notification",C 列中的值作为电子邮件的正文。