如果所有列均为空白,请隐藏行Google表格应用脚本

时间:2018-06-01 21:33:36

标签: google-apps-script google-sheets-api google-sheets-macros

我正在尝试获取一个自动脚本,检查“D9”右侧的列是否为空,如果所有列都是空白,则隐藏该行。我的想法是使用for循环迭代并逐行检查并检查这一点,因此用'i'替换范围中的Row参数但似乎由于某种原因,如果我将A1注释工作但不是'row'和'列'参数。我几天前刚开始搞乱这个,所以我确定我做错了所以如果你能指出我正确的方向,并指出为什么这不起作用,那将是伟大的:)< / p>

这样可行:

function SelectLastColumn() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange("D9").activate();
var currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection()
.getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
currentCell.activateAsCurrentCell();

这不是:

function SelectLastColumn() { var spreadsheet =
SpreadsheetApp.getActive(); spreadsheet.getRange(9,4).activate(); var
currentCell = spreadsheet.getCurrentCell(); 
spreadsheet.getSelection()
.getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
currentCell.activateAsCurrentCell();

1 个答案:

答案 0 :(得分:1)

关于上述脚本工作的原因以及脚本下面的工作不起作用,这个答案怎么样?在您的脚本中,spreadsheet的{​​{1}}是电子表格作为对象。当var spreadsheet = SpreadsheetApp.getActive();用于这种情况时,需要注意以下几点。

  • 当a1Notation使用getRange()时,它可用于电子表格工作表
  • 行和列使用getRange()时,它只能用于工作表

从以上几点来看,对于您的脚本,当您的脚本修改如下时,您的脚本都可以使用。

来自:

getRange()

致:

var spreadsheet = SpreadsheetApp.getActive();

参考:

如果我误解了你的问题,我很抱歉。