【问题标题】:If, Else, limit range in google script for onEdit trigger如果,否则,在谷歌脚本中限制 onEdit 触发器的范围
【发布时间】:2020-12-06 09:26:38
【问题描述】:

当单元格中的值发生变化时,会向 Slack 发送一条消息。我能够为任何更改配置发送消息。这是脚本:

var url = 'https://hooks.slack.com/services/';

function sampleName(e){
    
  var newValue = e.value; 
  var oldValue = e.oldValue; 
  var user = e.user; 
  
  var payload = {
      'text' : user + " Изменено с " + oldValue + " на "  + newValue  + " :wink:"
    };

  var params = {
      'method' : 'post',
      'contentType' : 'application/json',
      'payload' : JSON.stringify(payload)
    };
  return UrlFetchApp.fetch(url, params)

}

但我希望它只在更改发生在某个地方时发送消息。

【问题讨论】:

  • 你想达到什么目的?
  • 例如:当单元格 B2 发生更改时,只有这样通知才会发送到 Slack。现在脚本的工作方式是将任何更改发送到 Slack

标签: google-apps-script google-sheets slack google-workspace


【解决方案1】:

看看event object

例如:


function onEdit(e) {
    
    let eventRange = e.range;
    let eventRow = eventRange.getRow()
    let eventCol = eventRange.getColumn()
    
    
    if (eventRow == 1 && eventCol == 1) {
        // DO STUFF
        // ...
        // etc
    }
}
  • 事件对象,通常称为e,具有范围属性。
  • 从中获取列和行,然后根据需要使用条件。
  • 您也可以调用source 属性来获取工作表名称,并在您的代码中使用它。
  • 检查标题中链接的文档以查看您可以从事件对象中获得的所有不同信息,它很多!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 2018-03-14
    相关资源
    最近更新 更多