仅当 G 列为 Y 时,才向 L 列中的地址发送电子邮件

Send an e-mail for an address on column L only if column G is Y

你们能帮帮我吗?我完全是菜鸟,所以非常感谢您的帮助:)

我正在尝试为电子表格创建一个脚本,每次在同一行上,第 G 列是 Y.

例如:

如果将 G9 编辑为 Y,则会向 L9 上指定的地址发送电子邮件。

目前,我正在尝试下面的脚本,但它不起作用:

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

   if (intCol == 7){
      var intRow = range.getRow();                              
      var sheet = SpreadsheetApp.getActiveSheet();
      var dataRange = sheet.getRange(intRow, 12, 11, 8);          
      var dataValues = dataRange.getValues();           

      MailApp.sendEmail(dataValues[0][0], "Notification", "Value in column C: " 
                                                             + dataValues[0][2]);
   }
}

错误:

"TypeError: Cannot read property "range" from undefined. (line 2, file "send e-mail")"

您的代码工作正常,但我发现了一些问题。

  1. 你不说但是当你得到错误时你是在使用调试器吗?请注意,事件对象 (e) 仅在触发触发器时才接收信息。也就是说,如果您尝试使用调试器测试 onEdit(e) 函数,则不会将任何信息传递给 (e),因为触发器尚未触发。

  2. 阅读 Google Documentation,特别是有关限制的部分。它说的是

They [simple triggers] cannot access services that require authorization. For example, a simple trigger cannot send an email because the Gmail service requires authorization, but a simple trigger can translate a phrase with the Language service, which is anonymous.

因此,为了让您的脚本正常工作,您需要转到“编辑”->“当前项目的触发器”并创建一个 onEdit 触发器