【发布时间】:2021-10-29 16:33:24
【问题描述】:
所以我正在尝试在 Google App Scripts 上编写一个脚本,该脚本执行以下操作: 在具有多列和多行的电子表格上,每当有人选中某行上的复选框时,将存在于同一行但在不同列上的数据推送到 Slack 消息中。
**例如,假设我的电子表格中的 A1 是“XX02”,而 Q1 是一个复选框。如果有人来检查 Q1,我想发送一条自动消息说“XX02 完成”。 **
这是我目前得到的:
var url = "slack url"
function onEdit(e){
var column = e.getColumn;
var row = e.getRow
var newValue = e.value;
var oldValue = e.oldValue;
var payload = {
'text' : CELLVALUE + " changed from " + oldValue + " to " + newValue + ":white_check_mark:"
};
var params = {
'method' : 'post',
'contentType' : 'application/json',
'payload' : JSON.stringify(payload)
};
return UrlFetchApp.fetch(url, params)
}
当然,“CELLVALUE”是一个占位符,因为我不知道如何获得该值。因为无论我选中哪个框,我都需要它工作。
到目前为止,我在 Slack 上使用此代码得到的消息是“未定义从未定义更改为 TRUE”。
提前感谢任何可以给我提示的人。
【问题讨论】:
-
您正在更改复选框的值。但是您想在另一个不变的列中获取值。您的 Slack 消息令人困惑。你想做什么?
-
嗯,同一行中的所有列都有关于同一个项目的信息(这是一个项目管理电子表格),列 Q1 是一个复选框,A1 包括项目编号,Q2-A2 也是如此,Q3-A3等。基本上,选中 Q 列中的框表示该行中的项目已准备好交付。
标签: javascript google-apps-script integration slack-api