首页 > 解决方案 > 如何为谷歌表格编写“可重用”功能?

问题描述

我需要在不同的单元格上执行相同的操作,并且我正在尝试编写一个通用脚本。我举了一个简单的例子来解释我的问题。

假设我想单击一个按钮并将单元格 A1 的值减少 1。这很简单。我定义了以下函数

function dec_cell_def(){
  var cell = fr = SpreadsheetApp.getActiveSheet().getRange("A1")
  cell.setValue(cell.getValue() - 1)
} 

然后将“脚本”分配dec_cell_def给任何按钮,我就完成了。

现在让我们说,我想对许多不同的单元格执行此操作。我当然可以为每个函数编写一个函数,但这几乎不是一个解决方案。所以我认为以下方法会起作用。我定义了cell_dec一个函数,它将单元格的标签作为参数,并返回一个减少单元格值的函数:

function dec_cell(label){
  () => {
    var cell = fr = SpreadsheetApp.getActiveSheet().getRange(label)
    cell.setValue(cell.getValue() - 1)
  }
}

但是,当我将“脚本”分配给dec_cell("A1")按钮时,我被告知该脚本不存在。这样做的正确方法是什么?

PS。我知道我可以获取选定的单元格并对其采取行动,但我想为我的函数设置一个固定的目标。

编辑:我的意思是我想对几个单元格执行此操作,但不是一次全部执行。我想为每个单元格创建一个按钮,并且我想避免复制粘贴相同的代码。我认为没有一个建议的问题可以回答这个问题。

标签: javascriptgoogle-apps-scriptgoogle-sheets

解决方案


推荐阅读