谷歌脚本-隐藏/显示动态范围的列

时间:2018-07-23 12:38:10

标签: google-apps-script

我有一个电子表格,每天在其中添加一个新列:

sheet.insertColumnAfter(6)

现在我想显示/隐藏从column(7)开始的列,直到工作表的最后一列(这是一个动态值)。

我有以下想法,却不知道它为什么起作用:

function Historyausblenden() {
  var bereich = SpreadsheetApp.getActive();
  var letzte = bereich.getLastColumn();
  bereich.getRange("G",letzte).activate();
  bereich.getActiveSheet().hideColumns(bereich.getActiveRange().getColumn(), bereich.getActiveRange().getNumColumns());
  bereich.getRange('F:F').activate();
}

似乎getRange不接受var letzte

错误代码显示:“找不到Methode getRange(string,number)!”

为什么?是什么意思?

1 个答案:

答案 0 :(得分:0)

您的代码中有几个问题。

  1. 您无法在电子表格上致电getLastColumn()
  2. 使用+(例如"G" + letzte)最容易完成javascript中的字符串连接。
  3. 您必须先选择表格才能激活范围。

最后,您实际上不需要激活即可完成您想做的事情,但是您可能还有另一个原因要这样做。

请改用此方法(并确保在第三行中选择正确的工作表):

function hideHistory() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Sheet1");
  var lastColumn = sheet.getMaxColumns();
  var startColumn = 7;
  sheet.hideColumns(startColumn, lastColumn-startColumn+1);
}