2

Google スプレッドシートに機能を追加する作業を行っています。スプレッドシートは Web からデータをインポートします。すべて適切にフォーマットされています。私のコラムの 1 つは一連の文字列で、文字列または *String * の 2 つの方法のいずれかでフォーマットされています (基本的には Web から斜体をインポートします)。

スプレッドシートを開いたときに実行されるスクリプトを作成しようとしています。

  • スプレッドシートのすべての行を再表示する
  • スプレッドシートをループする
  • 列 2(B) がアスタリスクで始まるすべての行を非表示にします

私は次のものを持っています:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DoDH");
  sheet.showRows(1, sheet.getMaxRows());
  for(var i=1; i<sheet.getMaxRows()+1; ++i){
    if (sheet.getRange(i, 2).getValue().){
      sheet.hideRow(i)
    }
  }
}

各セル内の文字列にアクセスする方法と、文字列内の文字にアクセスする方法がわかりません。よろしくお願いします。

4

1 に答える 1

3

ここに更新されたコードがあります。コメントを参照して洞察を得る

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DoDH");
  var maxRows = sheet.getMaxRows();

  //show all the rows
  sheet.showRows(1, maxRows);

  //get data from clumn B
  var data = sheet.getRange('B:B').getValues();

  //iterate over all rows
  for(var i=0; i< data.length; i++){
    //compare first character, if asterisk, then hide row
    if(data[i][0].charAt(0) == '*'){
      sheet.hideRows(i+1);
    }
  }
}
于 2013-04-25T08:49:25.260 に答える