使用应用程序脚本从电子表格推送数据
Pushing Data From Spreadsheets Using App Scripts
所以我正在尝试在 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”。
提前感谢任何能给我提示的人。
假设目标列位于复选框的旁边:
var range = e.range;
var cell = range.offset(0, -1);
var CELLVALUE = cell.getValue();
所以我正在尝试在 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”。
提前感谢任何能给我提示的人。
假设目标列位于复选框的旁边:
var range = e.range;
var cell = range.offset(0, -1);
var CELLVALUE = cell.getValue();