当单元格为 =1 时,使用应用程序脚本从 Google Sheet 发送电子邮件

问题描述 投票:0回答:1

发送电子邮件,

我正在尝试创建一个发送电子邮件脚本,enter image description here,H 列中的任何单元格达到 1 都会向我发送带有特定消息的电子邮件,任何人的任何支持。我已经将电子邮件与工作表中的电子邮件一起发出了。

我正在尝试使用这个脚本,

function ifstatement() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var sheet = ss.getSheetByName("Sheet 1"); 
  var value = sheet.getRange("b2").getValue(); 
  if(value >= "1") sendEmail(value) 
}; 

function sendEmail(value){ 
  var recipient="[email protected]"; 
  var subject=" test subject " +value; 
  var body=" test body "+value; 
  MailApp.sendEmail(recipient, subject, body);
}
dataframe google-sheets spreadsheet sendmail
1个回答
0
投票

如果 H 列中的值更改为 1,您想要发送电子邮件。

该脚本需要一个可安装的

onEdit
触发器。

  • 这使得当用户更改 H 列中的值时自动触发脚本
  • 测试正确的工作表、列和值
  • 使用事件对象提供关键数据值

// this function will send an email if the user enters 1 in Column H
// an installable "onEdit" trigger must be created to trigger the function

function sendEmail(e) {
  Logger.log(JSON.stringify(e))

  var editedValue=e.value
  var editedSheet = e.range.getSheet().getName()
  var editedCol = e.range.columnStart
  Logger.log("DEBUG: column  = "+editedCol+" , value ="+editedValue+" & sheet = "+editedSheet)
  // test for a change in 
  // sheet1, Column H, value = 1

  if (editedCol != 8 || editedValue != 1 || editedSheet != "Sheet 1"){
    // ignore the edit; wrong column, value or sheet
    Logger.log("DEBUG: ignore the edit")
    return
  }
  else{
    var editedRow = e.range.rowStart
    var value = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(editedSheet).getRange(editedRow,2).getValue() // get value of cell B2
    var recipient="[email protected]"
    var subject=" test subject " +value 
    var body=" test body "+value
    MailApp.sendEmail(recipient, subject, body)
    Logger.log("Mail sent")
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.