javascript - 如何将活动范围更改为可以通过 setValues 设置的数组
问题描述
我一直在用谷歌脚本编写这个简单的代码来在按钮上执行。
我希望用户能够并排选择两个单元格,然后单击按钮。第一个选定的单元格将更新日期,右侧的单元格将增加一。到目前为止,我已经做到了这一点:
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 是类范围的方法。
假设 activeValues 具有与 newValues 相同的形状,那么您可以对代码进行最小的更改,而不是
activeValues.setValues(newValues);
利用
activeSheet.getActiveRange().setValues(newValues);
推荐阅读
- python - 类实例上的字典函数
- android - 更新到 Gradle 5.6.4 和 Android Studio 3.6.1 后 nativeLibraryDir 显示为空
- python - Cartopy 正在崩溃谷歌代码实验室
- javascript - 从 Textarea 获取文本,并将每一行存储在单独的变量中
- javascript - React:如何将对象数组存储在 JSON 文件的数组中?
- ruby-on-rails - 如何使用 Sandi Metz 规则重写此代码片段?
- flutter - 行内元素位置的颤动问题
- reactjs - 单选按钮需要单击两次才能使用 React Hooks 进行第二次更改
- excel - 计算多对/排列的平均值
- sql - 通过 id 将一个表与另外两个表连接起来