在Google表格的谷歌脚本中的特定工作表上使用onedit()触发器 [英] use onedit() trigger on a specific sheet within google scripts for google sheets

查看:370
本文介绍了在Google表格的谷歌脚本中的特定工作表上使用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 =低库存通知;
var emailAddress =email@email.com;
MailApp.sendEmail(emailAddress,subject,message);
range.offset(0,1).setValue(notifications);
}
}
}

谢谢!

解决方案

尝试类似这样的方法,看看它是否有效:

  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 =低库存通知;
var emailAddress =email@email.com;
MailApp.sendEmail(emailAddress,subject,message);
range.offset(0,1).setValue(notifications);
}

现在,如果活动工作表不是库存编辑的值不是'通知'。


I need to run a script triggered by an onedit() to only one sheet of many.

I have tried the following, but currently I can't get the script to work on just the desired sheet ("Inventory") Im sure this will be very simple for someone that knows:

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");
        }
    }
}

Thanks!

解决方案

try something like this and see if it works:

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");
}

Now the script will exit if the active Sheet is not 'Inventory' or the edited value is not 'notify'.

这篇关于在Google表格的谷歌脚本中的特定工作表上使用onedit()触发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆