如果单元格值发生变化,需要一个脚本来发送电子邮件

时间:2021-03-12 14:31:00

标签: google-apps-script google-sheets

需要帮助来创建看门狗。我正在导入一个包含一些数据的网页。并希望不断检查导入的数据是否与我的参考相同。 所以我希望脚本不断比较 2 个单元格,如果值变得不同,请给我(作者)发送电子邮件。 想比较H4和E4 enter image description here

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Pricechecker");
  var checkprice = sheet.getRange(E2:E2);
  var currentprice = sheet.getRange(H4:H4);

    if (currentprice <= checkprice) {
      var emailAddress = "email@example.ge";  
      var message = "Discount";
      var subject = "There is a Discount on your item";
      MailApp.sendEmail(emailAddress, subject, message);
    }
}

1 个答案:

答案 0 :(得分:1)

解决方案:

在比较 E4 和 H4 时,您需要一个 Installable Trigger 来自动发送电子邮件。

function createSpreadsheetEditTrigger() {
  var ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('compare')
      .forSpreadsheet(ss)
      .onEdit()
      .create();
}

function compare(e) {
  if (e.range == "E4" || "H4") {
    var sheet = SpreadsheetApp.getActiveSheet();
    var checkPrice = sheet.getRange("E4").getValue();
    var currentPrice = sheet.getRange("H4").getValue();
    if (currentPrice <= checkPrice) {
      var emailAddress = "email@example.ge";  
      var message = "Discount";
      var subject = "There is a Discount on your item";
      MailApp.sendEmail(emailAddress, subject, message);
    }
  }
}

请注意,您只需在 Apps 脚本中运行 createSpreadsheetEditTrigger()。每次您对电子表格进行编辑时,创建的触发器都会运行 compare()。它会自动检查E4和H4并发送电子邮件是否满足条件。

控制台输出:

enter image description here

相关问题