function - 在 Google 表格的 Google 脚本中的特定表格上使用 onedit() 触发器

标签 function if-statement google-apps-script triggers google-sheets

我需要运行由 onedit() 触发的脚本,仅对其中的一张进行操作。

我已经尝试了以下方法,但目前我无法让脚本仅在所需的工作表(“库存”)上工作,我确信这对于知道的人来说会非常简单:

function onEdit(e) {
    var range = e.range;
    if(range.getSheetName() == "Inventory") {
        if(range.getValue() == "notify") {
            range.setBackgroundColor('red');
            var productname = range.offset(0,-3).getValue();
            var productinventory = range.offset(0,-2).getValue();
            var message = "Product variant " + productname + " has dropped to " + productinventory;
            var subject = "Low Stock Notification";
            var emailAddress = "email@email.com";
            MailApp.sendEmail(emailAddress, subject, message);
            range.offset(0,1).setValue("notified");
        }
    }
}

谢谢!

最佳答案

尝试这样的事情,看看它是否有效:

function onEdit(e) {
    var activeSheet = e.source.getActiveSheet();
    var range = e.range;
    if (activeSheet.getName() !== "Inventory" || e.value !== "notify") return;
    range.setBackgroundColor('red');
    var productname = range.offset(0, -3).getValue();
    var productinventory = range.offset(0, -2).getValue();
    var message = "Product variant " + productname + " has dropped to " + productinventory;
    var subject = "Low Stock Notification";
    var emailAddress = "email@email.com";
    MailApp.sendEmail(emailAddress, subject, message);
    range.offset(0, 1).setValue("notified");
}

现在,如果事件工作表不是“Inventory”或编辑的值不是“notify”,脚本将退出。

关于function - 在 Google 表格的 Google 脚本中的特定表格上使用 onedit() 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27107903/

相关文章:

javascript - 在所有浏览器中调用 vbscript 函数以在 body onload 上运行

r - 在 R 中格式化电话号码

javascript - 在谷歌应用程序脚本中获取 "Incorrect range height"

javascript - 将数组中的字符串拆分为子数组

javascript - 当 URL 存在时,Google Apps 脚本 UrlFetchApp 返回 404

r - 根据 Expand.grid() 给出的索引从 data.frame() 中选取特定值

php - PHP/Python/Etc 中内置函数的 ctags 信息

php - 将 PHP 变量传递给 Javascript 函数(特定代码错误)

将冗长的 if...else if...else... block 转换为开关

javascript - ifelse 用于两个变量的多种组合