google-apps-script - Google Apps 脚本:如何一次更新多个切片器的范围?
问题描述
问题:无法使用 Google 脚本更新两个或更多切片器的范围
信息:工作表包含两个切片器
代码:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Tracking');
var slicers = sheet.getSlicers();
var slicerRange = sheet.getRange('A3:A160'); //current slicer range A3:A165
slicers[0,1].setRange(slicerRange);
}
Error: Two slicers can either have zero or all common rows.
怎么了?如果我只使用工作表和代码中的一个切片器,则该代码有效。
非常感谢您的帮助!
解决方案
我不认为你可以编辑他们的范围。但是您可能可以使用新范围删除并再次创建它们:
function test(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Tracking');
var slicers = sheet.getSlicers();
var newRange = sheet.getRange('A3:A160'); // your new range
var slicersCount = 0;
for (i=0;i<slicers.length;i++){
slicers[i].remove();
slicersCount ++;
}
for (i=0;i<slicersCount;i++){
sheet.insertSlicer(newRange, 5, 3); // choose anchorRowPos and anchorColPos you want
}
}
然后您可以根据需要修改其余设置。希望这可以帮助。
推荐阅读
- javascript - 访问在另一个类中创建的方法中的对象
- javascript - 如何制作循环以确定将在JS上拾取哪个变量
- excel - 在 Power Query 中刷新数据时,如何添加保持不变的唯一 ID?
- javascript - 使用量角器进行 e2e 测试的 Google 优化
- php - 如何通过 PHP 将视频上传到 Facebook 活动页面
- java - 如何为我的可执行 jar 文件定义正确的类路径?
- merge - 在挂起的更改中恢复合并,但保留本地更改 (Azure Devops)
- windows - 根据文件名上的前几个文本批量移动文件
- javascript - 引导轮播控件不更改活动类
- nginx - OpenShift / NGiNX 反向代理指南 - 传递到基于 SDN 的地址?