行を操作する

【GAS】スプレッドシートのグループ化された行を閉じる

GASでスプレッドシートのグループ化された行を閉じるには「collapseGroups()」を利用する。

collapseGroups()

範囲内に完全に含まれているすべてのグループを折りたたみます。完全に範囲内にあるグループがない場合、部分的に範囲内にある最も深い拡張グループは折りたたまれます。

https://developers.google.com/apps-script/reference/spreadsheet/range#collapsegroups

関連記事:【GAS】スプレッドシートの指定行をグループ化する

collapseGroups()の戻り値

Range—この範囲、連鎖用。

スプレッドシートのグループ化された行を閉じるGAS

function myFunction() {
  //アクティブなスプレッドシートを返す
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //アクティブな0番目のシートを返す
  var sht = ss.getSheets()[0];
 //テキストを変数へ格納
  var array1,array2,array3
    array1 = "Spread";
    array2 = "Sheet";
    array3 = ".BLUE";
 //変数を繰り返しA~D列の10行目まで入力
 for(let i=1;i<11; i++){
   sht.getRange(i,1).setValue(array1);//10行目までarray1をセット
   sht.getRange(i,2).setValue(array2);//10行目までarray2をセット
   sht.getRange(i,3).setValue(array3);//10行目までarray3をセット
   sht.getRange(i,4).setValue(i);//10行目まで連番をセット
}
 //shiftRowGroupDepthで3行目をグループ化にする
  var rng = sht.getRange(3,1,3,1); //3行目1列目から3行分アクティブ1列の範囲
  rng.shiftRowGroupDepth(1); //1行分だけグループ化
 //メッセージボックスでYESNOを確認
  var result = Browser.msgBox("グループ化した行を閉じちゃう?",Browser.Buttons.YES_NO);
  if(result=="no"){
    Browser.msgBox("グループ化を閉じないままにするね!");//noだったら閉じない
    }else{
    rng.collapseGroups(); //yesならグループ化の範囲を閉じる
    Browser.msgBox("グループ化した行を閉じちゃった!");//閉じたメッセージを掲載!
  }
}

スプレッドシートのグループ化された行を閉じるGAS実行の様子

collapseGroups()メソッドを利用して、スプレッドシートのグループ化された行を閉じるGASを実行してみました。

スプレッドシートのグループ化された行を閉じない場合

collapseGroupsを実行しないとき、指定行の2~5行の3行がグループ化されないことがわかります。

collapseGroups-No
collapseGroupsを実行しない様子

スプレッドシートのグループ化された行を閉じる場合

collapseGroupsを実行すると、指定行の2~5行の3行がグループ化されていることがわかります。。

collapseGroups-YES
collapseGroupsを実行した様子

スプレッドシートのグループ化された行を閉じるまとめ

GAS×スプレッドシートのグループ化された行を閉じるならcollapseGroups()メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの指定行をグループ化する

関連記事:【GAS】スプレッドシートの指定行から複数行を非表示にする

関連記事:【GAS】スプレッドシートで行の非表示を再表示する

関連記事:【GAS】スプレッドシートで複数行を削除する

関連記事:【GAS】スプレッドシートの指定行を削除する

関連記事:【GAS】スプレッドシートで最下部に行を追加する

関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する

関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する

参考記事:【GAS】スプレッドシートに行を挿入する

-行を操作する