Google电子表格脚本 - 根据当前选定的单元格动态更改单元格内容?

时间:2013-09-30 19:54:52

标签: google-apps-script google-sheets

我最近开始搞乱电子表格的谷歌脚本,我想知道是否有办法根据当前选择的单元格更改单元格值?例如,如果显示行号的单元格在A1中,而用户高亮显示B8,则A1将显示“8”。这甚至可能吗?

翻阅谷歌应用程序脚本电子表格服务页面,我注意到一个名为.getActiveCell的类,我假设这将是一个关键部分,但我有点迷失。有人能指出我正确的方向吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

这个小代码snipet部分地执行了您的需要,但无法检测到简单的单元格选择,只有在修改单元格的内容时才会触发。

function onEdit(){
  var ss = SpreadsheetApp.getActive();
  var cell = ss.getActiveCell();
  ss.getRange('A1').setValue(cell.getA1Notation().replace(/[^0-9]/g, ''));// get A1 notation and rip off any non numeric value to keep only the row number
}

据我所知,没有直接的方法可以通过简单的点击或按键进行选择。

答案 1 :(得分:0)

Google电子表格脚本允许注册onChange(e)触发器:

Installable Triggers

function createSpreadsheetEditTrigger() {
  var ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('myFunction')
      .forSpreadsheet(ss)
      .onChange()
      .create();
}

如果在选择更改时拍摄,我还没试过。