清除多张图纸上的多个范围
Clear multiple ranges across multiple sheets
我需要运行一个脚本,该脚本将遍历我的所有工作表(除了最后几张工作表),并清除其中多个范围的内容。
下面的代码可以工作,但速度非常慢,这会导致超时错误。
我已经尽我所能四处寻找如何缩短或加快它。据我所知,它已经很简短了。
我是不是错过了一个技巧?
function clearranges() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
for(var i = 0; i < 46; i++){
var sheet=allsheets[i]
sheet.getRange('D5:AH12').clearContent();
sheet.getRange('A14:A33').clearContent();
sheet.getRange('D14:AH33').clearContent();
sheet.getRange('A9').clearContent();
sheet.getRange('B5:B12').clearContent();
}
}
解决方案如下:
function clearrangeX() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
for (var i = 0; i < 46; i++) {
var sheet = allsheets[i]
sheet.getRange(9, 1, 1, 1).clearContent();
sheet.getRange(14, 1, 20, 1).clearContent();
sheet.getRange(5, 2, 8, 1).clearContent();
sheet.getRange(5, 4, 8, 31).clearContent();
sheet.getRange(14, 4, 20, 31).clearContent();
}
}
代替使用A1表示法,将代码替换为索引行表示法,其中第一个值是要开始的行,第二个值是开始的列,第三个值是需要处理的行数,第四个值是想要处理的列数。
这使运行时间从>360秒变为0.981秒!
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- HTML范围:动态设置值属性
- "实例范围”;TypeScript类的getter/setter
- jquery日期选择器年份范围默认值
- Jpgraph:如何手动设置X轴和Y轴的范围
- 在对象数组中查找多个值的d3范围
- 动态加载angularjs并生成控制器和范围
- 显示某个用户ID的某个标签的30张Instagram图片
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 在Materialize Calendar中设置年份范围
- 在MVVM视图模型中处理应用程序范围的元素
- setInterval游戏循环的范围问题
- jQuery图像幻灯片,在停止后淡出到第一张图像
- 如何获取 HTML5 范围(2 张幻灯片)滑块在 PHP 中的值
- 根据单元格值将行从一张图纸复制到另一张图纸
- 根据特定的键值将数据从一张图纸复制到另一张图纸
- 清除多张图纸上的多个范围
- 谷歌电子表格脚本.仅适用于一张图纸