If, Else, onEdit 触发器在 google 脚本中的限制范围
If, Else, limit range in google script for onEdit trigger
当单元格中的值发生变化时,将向 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)
}
但我希望它只在某个地方发生变化时才发送消息。
看看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
}
}
- 事件 object,通常称为
e
,具有范围属性。
- 从中获取列和行,然后根据需要使用条件。
- 您也可以调用
source
属性来获取 Sheet 名称并在您的条件中使用它。
- 查看标题中链接的文档,了解您可以从事件中获得的所有不同信息 object,很多!
当单元格中的值发生变化时,将向 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)
}
但我希望它只在某个地方发生变化时才发送消息。
看看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
}
}
- 事件 object,通常称为
e
,具有范围属性。 - 从中获取列和行,然后根据需要使用条件。
- 您也可以调用
source
属性来获取 Sheet 名称并在您的条件中使用它。 - 查看标题中链接的文档,了解您可以从事件中获得的所有不同信息 object,很多!