javascript - 如何将事件范围更改为可以通过setValues设置的数组

标签 javascript google-apps-script google-sheets

我一直在谷歌脚本中编写这个简单的代码,以便在按钮上执行。

我希望用户能够并排选择两个单元格,然后单击按钮。第一个选定的单元格将使用日期进行更新,右侧的单元格将增加 1。到目前为止我已经做到了:

function increment() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();

var activeValues = activeSheet.getActiveRange().getValues();

var newValues = [[Utilities.formatDate(new Date(), "UTC-8", 
"yyyy/MM/dd"),activeValues[1]+1]]; 

activeValues.setValues(newValues);

}

我认为我需要在 getActiveRange 上使用 setValues,但我不确定如何将事件范围更改为可以通过 setValues 设置的数组。

我认为我没有使用 activevalues[1] 调用正确的元素(第一个元素,第二列)。不知道如何调用它。

现在我收到错误:无法在对象 1 中找到函数 setValues。

最佳答案

发生错误的原因是 activeValues 是数组的数组/二维数组,但 setValues 是 Range 类的方法。

假设 activeValues 与 newValues 具有相同的形状,则可以对代码进行最小的更改,而不是

activeValues.setValues(newValues);

使用

activeSheet.getActiveRange().setValues(newValues);

关于javascript - 如何将事件范围更改为可以通过setValues设置的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51275267/

相关文章:

javascript - 三个简单的 jQuery 步骤不起作用 - 设置变量、打印变量、比较变量

charts - 使用 Google Apps 脚本从图表中获取所有系列

google-apps-script - 强制要求授权 onOpen()(强制弹出)

google-apps-script - 将带有粗体部分的特定范围复制到另一个电子表格上的特定范围,同时保留粗体部分

Azure 逻辑应用获取行操作将仅方括号值不同的相同列标题转换为数字

javascript - GSheet 的 Google 应用脚本 - 在 B 列上查找今天的日期,并在同一行的 C 列上写入当前时间

javascript - DataTables:重置表数据

javascript - 发布请求未从 Angular 到达 Node

drop-down-menu - Google Apps 脚本列表框到下拉框

javascript - 验证触摸事件不适用于 Angular 5.2