当前位置: 首页 > 知识库问答 >
问题:

更改特定单元格时发送电子邮件

韦高格
2023-03-14

我正试图建立一个项目跟踪系统

  • 发送电子邮件到电子邮件列表
  • 邮件标题为单元格A1中的文本
  • 邮件正文是来自单元格D1的文本
  • 当单元格E1的值变为完成或注意时触发

到目前为止,我已经创建了一个脚本,可以向特定工作表中创建的人员列表发送电子邮件。但我正在为OnEdit功能和如何在发送电子邮件时将单元格链接成一行而苦苦挣扎。电子表格将有许多行引用不同的项目。

function sendEmails(){
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email");
  var lr = ss.getLastRow();
  for (var i = 2;i<=lr;i++){
    var currentEmail = ss.getRange(i, 1).getValue();
    var currentClassTitle = ss.getRange(i, 3).getValue();
    MailApp.sendEmail(currentEmail,currentClassTitle,"Project complete");
    }
  }

非常感谢您的帮助和建议。

共有1个答案

卫弘懿
2023-03-14

试试这个:

function onEdit(e){
  var ss = SpreadsheetApp.getActiveSheet(); // The sheet.
  var data = ss.getDataRange().getValues(); // The data in all the cells
  var row = e.range.getA1Notation().substring(1);
  var email = ss.getRange("A"+row).getValue();
  var body = ss.getRange("D"+row).getValue();

  if (e.range.getA1Notation().substring(0,1) == "E"){
    if (data[row-1][4] == "Complete" || data[row-1][4] == "Attention"){
      MailApp.sendEmail(email,currentClassTitle,body);
    }
  }
}

编辑

我修复了我的代码,它用于发送不必要的电子邮件,并且没有正确检查哪个单元格已被修改。新代码将检查编辑的单元格是否在E列,以及更改是否设置为“完成”或“注意”。如果更改是必需的,它将向该行上的电子邮件发送一封电子邮件,内容在正文行中。

 类似资料:
  • 我是一名篮球教练 这是一个不合适的单词的代码,很明显,我只是想在添加100个不合适的单词之前把编码的基本知识记下来。问题是,如果工作表同时收到三条推文,它只会检查最后一条,所以这就是我现在的主要问题所在。 非常感谢这里的任何指导或帮助!

  • 我添加了自定义状态: 我添加了自定义电子邮件: 我可以在电子邮件设置中看到电子邮件,在订单状态下拉菜单中看到状态。现在,每当订单状态更改为时,我就需要发送我的新电子邮件。过渡钩似乎从未开火。 我也试过: 这似乎也不起作用...有什么想法吗?

  • 我正试图阻止woo-commerce发送邮件时,订单状态更改。这些订单是亚马逊的,我的插件从亚马逊同步到Woo-Commerce。在这样做的时候,亚马逊和woo-commerce的邮件都收到了,这激怒了客户。因此,我想停止电子邮件功能停止时,状态从我的插件更改。要更改状态的代码是 有没有可以设置的标志来避免发送邮件? 任何种类的帮助都是非常感谢的。

  • 我已经在我的WooCommerce回拨订单()中创建了自定义订单状态: 现在我想收到一封电子邮件,每当收到一个订单,已经给出了状态栏。我根据这篇有用的文章创建了一个插件:如何添加自定义的WooCommerce电子邮件 这个链接包含我的插件源代码和functions.php代码。 我在function.php中添加了钩子: 当订单更改为“延迟订单”状态时,不会发生任何情况。 有什么想法吗? 我已经尝

  • 在我正在开发的应用程序中,我可以指定许可证的到期日期,现在我想创建一个java Spring Bootapi,它可以在特定时间段(用户可以选择时间段)之前向特定电子邮件发送电子邮件。电子邮件的目的是通知用户他的许可证即将结束。 例如:用户选择的到期日为2023年3月8日,并选择在所选到期日前3个月收到通知。2023年3月5日,向用户的电子邮件发送一封电子邮件,通知用户许可证即将到期。 任何帮助都是

  • 我在我的WooCommerce安装中创建了一个自定义订单状态,称为Quote。 现在我想收到一封电子邮件,每当收到一个订单,已经给出了状态栏。我根据这篇有用的文章创建了一个插件:http://www.skyverge.com/blog/how-to-add-a-custom-woocommerce-email/ 我的插件基本上是从文章复制的,我只是更改了电子邮件的内容。我想改变的是什么触发了电子邮