Google应用程序脚本触发单元格值更改与电子邮件通知



寻找一个帮助来修复我的脚本在谷歌电子表格。我想建立一个函数,发送电子邮件,每次在列表中的某个单元格更新。这是我的代码,但它不起作用。

寻找你的帮助找到并解决我的问题

function onEdit(e) {
const specificSheet = "Inventory"
const specificCell = "B1"
let sheetCheck = (e.range.getSheet().getName() == specificSheet)
let cellCheck = (e.range.getA1Notation() == specificCell)
if (!(sheetCheck && cellCheck)) {
return
}
else {
sendEmail(){
var subject = "New update";
var emailAddress = "example@gmail.com";
var message = "new update: link";
MailApp.sendEmail(emailAddress, subject, message)
}
}
}

发送编辑邮件

function onMyEdit(e) {
const sh = e.range.getSheet();
if (sh.getName() = "Inventory" && e.range.columnStart == 2 && e.range.rowStart == 1) {
var subject = "New update";
var emailAddress = "example@gmail.com";
var message = "new update: link";
MailApp.sendEmail(emailAddress, subject, message)
}
}

我认为这需要是一个可安装的触发器,以便发送电子邮件。

有时Sheet不能处理与onEdit(e)相关的复杂操作,所以也许这可以帮助:

function onEdit(e) {
const specificSheet = "Inventory";
const specificCell = "B1";
var range = e.range;
var ss = e.source; 
var sheetName = ss.getActiveSheet().getName();
var a1Notation = range.getA1Notation();
if ((sheetName==specificSheet) && (a1Notation==specificCell)) {
var props = PropertiesService.getScriptProperties();
props.setProperty("CHECKED","TRUE");
}
}
function sendEmail(){
var subject = "New update";
var emailAddress = "example@gmail.com";
var message = "new update: link";
var props = PropertiesService.getScriptProperties();
var checked = props.getProperty("CHECKED");
if (checked == "TRUE"){
GmailApp.sendEmail(emailAddress, subject, message);
Utilities.sleep(3000);
props.setProperty("CHECKED","FALSE");
}
}

你应该做的另一件事是设置sendEmail()函数被时间触发器每分钟激活一次…

相关内容

  • 没有找到相关文章

最新更新