我是一个新手,一直在使用一个简单的应用程序脚本来发送带有 onEdit 和 onChange 触发器的电子邮件。但是,我的工作表有十多个工作表,任何工作表中的任何编辑/更改(由我完成或通过计算完成)都会发送一封电子邮件,从而导致意外垃圾邮件!为了避免这种情况,如果我可以使用一些仅基于任何更改发送电子邮件的代码 到特定工作表中特定单元格的值 ,我的问题就解决了。我的外发电子邮件很短,整条消息都在一个单元格 (C2) 中。如果我可以添加一行代码来监视该单元格 C2 中的任何更改,并在发生更改时发送电子邮件,就是这样!我就完了。我的脚本如下:
function sendEmail(){
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('Email');
var emailAddress = sheet1.getRange(2,1).getValue();
var subject = sheet1.getRange(2,2).getValue();
var message = sheet1.getRange(2,3).getValue();
MailApp.sendEmail(emailAddress, subject, message);
}
最佳答案
回答:
您可以使用 onEdit()
执行此操作和一个条件。
代码示例:
function onEdit(e) {
const specificSheet = "Email" // for example
const specificCell = "C2" // for example
let sheetCheck = (e.range.getSheet().getName() == specificSheet)
let cellCheck = (e.range.getA1Notation() == specificCell)
if (!(sheetCheck && cellCheck)) {
return
}
else {
sendEmail()
}
}
此函数的概要:sendEmail()
如果单元格和工作表正确 引用:
关于google-apps-script - 用于触发单元格值更改的 Google App 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65333964/