GASでスプレッドシート指定の行グループを表示・指定外の行グループを非表示にするには「expandRowGroupsUpToDepth(groupDepth)
」を利用する。
expandRowGroupsUpToDepth(groupDepth)
指定された深さまですべての行グループを展開し、他のすべての行グループを折りたたみます。
https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#expandrowgroupsuptodepthgroupdepth
関連記事:【GAS】スプレッドシートの指定行をグループ化する
expandRowGroupsUpToDepth(groupDepth)の戻り値
Sheet—このシート、連鎖用。
expandRowGroupsUpToDepth(groupDepth)のパラメータ
名前 | タイプ | 説明 |
---|---|---|
groupDepth | Integer | 行グループを展開するまでのグループの深さ。 |
スプレッドシート指定の行グループを表示・指定外の行グループを非表示にするGAS
function myFunction() {
//アクティブなスプレッドシートを返す
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブな0番目のシートを返す
var sht = ss.getSheets()[0];
//テキストを変数へ格納
var array1,array2
array1 = "SpreadSheet";
array2 = ".BLUE";
//変数を繰り返しA~D列の50行目まで入力
for(let i=1;i<=50; i++){
sht.getRange(i,1).setValue(array1);//50行目までarray1をセット
sht.getRange(i,2).setValue(array2);//50行目までarray2をセット
sht.getRange(i,3).setValue(array1+array2+i);//50行目までarray3+iをセット
}
//shiftRowGroupDepthで3行目をグループ化にする
var rng1 = sht.getRange(10,1,2,1); //10行目1列目から2行1列分をグループ対象行に
rng1.shiftRowGroupDepth(1); //rng1範囲を指定の深さまでグループ化
rng1.collapseGroups(); //rng1グループ化の範囲を閉じる
//rng1を囲む深さ2のグループrng2を作成
var rng2 = sht.getRange(3,1,10,1); //3行目1列目から10行1列分をグループ対象行に
rng2.shiftRowGroupDepth(1); //rng2範囲を指定の深さまでグループ化
rng2.collapseGroups(); //rng2グループ化の範囲を閉じる
//深さnumber
var num1 = 1;
//メッセージボックスでYESNOを確認
var result = Browser.msgBox("グループの深さ"+num1+"までを展開する?",Browser.Buttons.YES_NO);
//ifで条件分岐
if(result=="no"){
Browser.msgBox("グループ化の行は閉じたままにするね!");//noだったら閉じたまま
}else{
// sht.expandAllRowGroups(); // すべての閉じグループ行を開く!
sht.expandRowGroupsUpToDepth(num1);
Browser.msgBox("グループの深さ"+num1+"までを展開して他の行グループは非表示にしたよ!");//開いたメッセージを掲載!
}
}
スプレッドシート指定の行グループを表示・指定外の行グループを非表示にするGAS実行の様子
expandRowGroupsUpToDepth(groupDepth)メソッドを利用して、スプレッドシート指定の行グループを表示・指定外の行グループを非表示にするGASを実行してみました。
スプレッドシートのグループ化された行を閉じない場合
expandRowGroupsUpToDepthを実行しないとき、グループ化された行は閉じたままになっています。
スプレッドシート指定の行グループを表示・指定外の行グループを非表示にする場合
expandRowGroupsUpToDepthを実行すると、グループ化された行のうち1階層までが展開されています。
スプレッドシート指定の行グループを表示・指定外の行グループを非表示にするまとめ
GAS×スプレッドシート指定の行グループを表示・指定外の行グループを非表示にするならexpandRowGroupsUpToDepth(groupDepth)
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートの指定行をグループ化する
関連記事:【GAS】スプレッドシートの指定行から複数行を非表示にする
関連記事:【GAS】スプレッドシートで行の非表示を再表示する
関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する
関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する
参考記事:【GAS】スプレッドシートに行を挿入する