使用应用程序脚本从电子表格推送数据

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();

参考: offset(rowOffset, columnOffset)