Function 在google工作表的google脚本中的特定工作表上使用onedit()触发器

Function 在google工作表的google脚本中的特定工作表上使用onedit()触发器,function,if-statement,google-apps-script,triggers,google-sheets,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.

我需要运行一个由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");
}

现在,如果活动工作表不是“库存”或编辑的值不是“通知”,脚本将退出。

我建议您尝试以下操作:

range.getSheet().getSheetName() == "Inventory"

虽然这是一个onEdit脚本,但由于电子邮件的原因,您必须使用可安装的触发器(在编辑电子表格时添加触发器>)。谢谢JPV,不幸的是,这不起作用。它似乎认不出那张纸。该函数的其余部分在任何工作表上使用时都可以正常工作,因为我已经安装了onedit。我只是不能让它在这一个工作!谢谢你的建议!你检查了标签上的名字是否没有多余的空格吗?是的,只是检查了一下,似乎还是不起作用。还是被第一句话抓住了。还有其他建议吗?我刚刚测试了上面的脚本,效果很好。请检查选项卡名称,并将函数名称更改为onEdit以外的名称,以避免与简单的onEdit发生内部冲突。例如InstallableOneEdit(e)