Google表格:当单元格值小于另一个值时自动发送电子邮件

时间:2019-11-27 19:10:30

标签: email google-apps-script google-sheets automation

我正在尝试制作一个库存清单,当库存低于特定限制时会自动发送一封电子邮件。我已将其设置为B2为

function sendEmailAlert() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet();

  var rangeA = sheet.getRange('A2:A8');

  var item = rangeA.getValues();

  var rangeB = sheet.getRange('B2:B8');

  var inventory = rangeB.getValues();

  var rangeC = sheet.getRange('C2:C8');

  var limit = rangeC.getValues();

  var toEmail = 'XX@XX.com';

  var subject = 'Inventory to Order';

  var body = 'Item:' + item + 'needs to be ordered';

  for (i in item){

   if(inventory <= limit ) {

     MailApp.sendEmail(toEmail,subject, body);

    }
  }
}

1 个答案:

答案 0 :(得分:1)

尝试一下:

function sendEmailAlert() {
  var sheet=SpreadsheetApp.getActiveSpreadsheet();
  var rangeA=sheet.getRange('A2:A8');
  var item=rangeA.getValues();
  var rangeB=sheet.getRange('B2:B8');
  var inventory=rangeB.getValues();
  var rangeC=sheet.getRange('C2:C8');
  var limit=rangeC.getValues();
  var toEmail='XX@XX.com';
  var subject='Inventory to Order';
  for (var i=0;i<item.length;i++){
   if(inventory[i][0]<=limit[i][0]) {
     var body='Item:' + item[i][0] + 'needs to be ordered';
     MailApp.sendEmail(toEmail,subject, body);
    }
  }
}

如果您想避免发送重复的邮件,也可以添加类似的内容

function sendEmailAlert() {
  var sheet=SpreadsheetApp.getActiveSpreadsheet();
  var rangeA=sheet.getRange('A2:A8');
  var item=rangeA.getValues();
  var rangeB=sheet.getRange('B2:B8');
  var inventory=rangeB.getValues();
  var rangeC=sheet.getRange('C2:C8');
  var limit=rangeC.getValues();
  var rangeD=sheet.getRange('D2:D8');
  var sent=rangeD.getValues();
  var toEmail='XX@XX.com';
  var subject='Inventory to Order';
  for (var i=0;i<item.length;i++){
   if(inventory[i][0]<=limit[i][0] && sent[i][0]!="sent") {
     var body='Item:' + item[i][0] + 'needs to be ordered';
     MailApp.sendEmail(toEmail,subject, body);
     sent[i][0]="sent";
    }
  }
  rangeD.setValues(sent);
}