Javascript 编译空行列表并将其隐藏在Google应用程序脚本中
正如name函数所揭示的,我需要隐藏第4列中的一些空白行,但是一个接一个地隐藏会使过程非常缓慢,因此我的想法是将所有值放入一个列表中,然后将该列表提供给hideRows函数,并一次隐藏所有行。这给了我一个错误,但老实说,我不知道我做错了什么。谢谢你的帮助Javascript 编译空行列表并将其隐藏在Google应用程序脚本中,javascript,google-apps-script,Javascript,Google Apps Script,正如name函数所揭示的,我需要隐藏第4列中的一些空白行,但是一个接一个地隐藏会使过程非常缓慢,因此我的想法是将所有值放入一个列表中,然后将该列表提供给hideRows函数,并一次隐藏所有行。这给了我一个错误,但老实说,我不知道我做错了什么。谢谢你的帮助 函数HidingYoMama(){ 对于(var i=8;i我查看了hideRow(s)方法的文档。因此,如果您查看下面的内容,您将看到该方法接受两个参数。rowIndex(我应该从哪一行开始隐藏)和numRows接受我应该从起始点隐藏多少
函数HidingYoMama(){
对于(var i=8;i我查看了hideRow(s)方法的文档。因此,如果您查看下面的内容,您将看到该方法接受两个参数。rowIndex(我应该从哪一行开始隐藏)和numRows接受我应该从起始点隐藏多少行
hideRows(行索引,numRows)
这两个参数都接受单个整数值。例如:
hideRows(1,3)这将从第一行开始隐藏,并隐藏以下3行。)
你得到了一个错误,因为你实际上是在试图将“[1,2,3,4,5,6,7,8]”推入接受“1”的对象
我在150行上测试了这段代码(只有一个空白值),它似乎工作得很好。(执行时间是12秒。)希望这有帮助
function hideRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getActiveSheet()
for (var i = 1; i < sheet.getLastRow(); i++) {
if(sheet.getRange(i, 1, 1, 1).isBlank()) {
sheet.hideRows(i)
}
}
}
函数hideRows(){
var ss=SpreadsheetApp.getActiveSpreadsheet()
var sheet=ss.getActiveSheet()
对于(var i=1;i
好吗?当您尝试使用它们时,什么是隐藏ISrows
呢?您没有调试脚本吗?targetRow[i]?你确定吗?@tehhowch老实说,我对脚本或任何脚本语言都是新手,因此我缺乏了解我的失败之处。查看文档时,我无法理解如何实现我的目标或调试我的代码。@RoumelisGeorge是的。我正试图检查第4列之后的每一行,因为它们都有标题然后是第4列后面的值,所以我想检查它们是否在那之后为空。对不起,我以为你在谈论变量。关于targetRow[I],不太清楚,我不太明白如何将值推送到空列表中。如果您能帮助我更好地理解,我将不胜感激;)一个简单的开始就是将只需要执行一次的操作移到for循环之外。使用“bug”图标在调试模式下运行,并花一些时间阅读“断点”相关内容我的工作表很大,有很多列,所以使用这种方法需要很多时间,一行一行地去隐藏它们。我需要一些东西,一次收集所有行,然后一次隐藏它们。我明白了,你不能把数组推到隐藏窗口中。你需要一个接一个地去做。你可以潜在地对数据进行排序并然后隐藏您的行,但我猜这不是您想要做的事情。因此,上面的代码和注释。是的。无论如何,谢谢:)抱歉上面糟糕的语法。正在帮助测试,同时尝试注释…:D