0

これを試すたびにエラーが発生します ここでは、私が使用しているものです。次のエラーが表示されます。

TypeError: Cannot find function hideColumns in object Sheet,Sheet,Sheet,Sheet,Sheet."

私はスクリプトにあまり詳しくなく、これを機能させることができないようです。

function Hide() {
  // get active spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

    // look at all sheets
  var sheet = ss.getSheets();

  // get data
  var data = ss.getDataRange();

  // get number of columns
  var lastCol = data.getLastColumn()+1;

  Logger.log(lastCol);

  // itterate through columns
  for(var i=1; i<lastCol; i++) {
     if(data.getCell(1, i).getValue()[0] == '*') {
        sheet.hideColumns(i);
     }
  }
}

誰かが私を助けることができますか?

4

1 に答える 1

0

私は、あなたがこの参照を使用していると仮定しています。私は、次のことをしたいと思います:

  1. データ範囲内のすべての列を反復します。
  2. 列の最初の行の値が等しい場合*、その列を非表示にします。

私は Google Apps サービスに詳しくありませんが、コードは次のようになるはずです。

function Hide() {
  // get active spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

    // look at all sheets
  //var sheet = ss.getSheets();

  // get data
  var data = ss.getDataRange();

  //get the sheet this range belongs to.
  var sheet = data.getSheet();

  // get number of columns
  var lastCol = data.getLastColumn()+1;

  Logger.log(lastCol);

  // itterate through columns
  for(var i=1; i<lastCol; i++) {
     if(data.getCell(1, i).getValue()[0] == '*') {
        sheet.hideColumns(i);
     }
  }
}

オブジェクトの配列.getSheets返すため、その関数を呼び出すことはできません。Sheet

于 2013-05-15T19:13:59.877 に答える