Если, иначе, ограничить диапазон в Google script для триггера onEdit

#google-apps-script #google-sheets #slack #google-workspace

#google-приложения-скрипт #google-sheets #слабина #google-workspace

Вопрос:

Когда значение в ячейках изменяется, в 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)

}
 

Но я хочу, чтобы он отправлял сообщение только в том случае, если изменение происходит в определенном месте.

Комментарии:

1. Чего вы хотите достичь?

2. Например: когда в ячейках B2 происходит изменение, так что только тогда уведомление отправляется в Slack. Теперь скрипт работает таким образом, что любое изменение отправляется в Slack

Ответ №1:

Взгляните на объект события

Например:

 
function onEdit(e) {
    
    let eventRange = e.range;
    let eventRow = eventRange.getRow()
    let eventCol = eventRange.getColumn()
    
    
    if (eventRow == 1 amp;amp; eventCol == 1) {
        // DO STUFF
        // ...
        // etc
    }
}
 
  • Объект события, который обычно вызывается e , имеет атрибут range.
  • Получите столбец и строку из этого, а затем используйте условные обозначения по мере необходимости.
  • Вы также можете вызвать source атрибут, чтобы получить имя листа, и также использовать его в своих кодировках.
  • Просмотрите документацию, указанную в названии, чтобы увидеть всю различную информацию, которую вы можете получить от объекта event, ее много!