GASでスプレッドシートで閉じた全部の行グループを開くには「expandAllRowGroups()
」を利用する。
expandAllRowGroups()
シート上のすべての行グループを展開します。このメソッドには、少なくとも1つの行グループが必要です。
https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#expandallrowgroups
関連記事:【GAS】スプレッドシートのグループ化された行を閉じる
expandAllRowGroups()の戻り値
Sheet-このシート、連鎖用。
スプレッドシートで閉じた全部の行グループを開く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列の範囲
var rng2 = sht.getRange(10,1,1,1) //10行目1列目から6行分アクティブ1列の範囲
rng.shiftRowGroupDepth(1); //rng範囲をグループ化
rng2.shiftRowGroupDepth(1); //rng2範囲をグループ化
rng.collapseGroups(); //rngグループ化の範囲を閉じる
rng2.collapseGroups(); //rng2グループ化の範囲を閉じる
//メッセージボックスでYESNOを確認
var result = Browser.msgBox("グループ化で閉じてる行を全部表示しちゃう?",Browser.Buttons.YES_NO);
if(result=="no"){
Browser.msgBox("グループ化の行を閉じたままにするね!");//noだったら閉じたまま
}else{
sht.expandAllRowGroups(); // すべての閉じグループ行を開く!
Browser.msgBox("グループ化閉じの行を全部表示しちゃった!");//開いたメッセージを掲載!
}
}
スプレッドシートで閉じた全部の行グループを開くGAS実行の様子
expandAllRowGroups()メソッドを利用して、スプレッドシートで閉じた全部の行グループを開くGASを実行してみました。
スプレッドシートのグループ化され閉じている行を閉じない場合
expandAllRowGroupsを実行しないとき、グループ化された全ての行は閉じたままになっています。
スプレッドシートでグループ化され閉じている全ての行を開く場合
expandAllRowGroupsを実行すると、グループ化された全ての行が一括で展開されています。
スプレッドシートで閉じた全部の行グループを開くまとめ
GAS×スプレッドシートで閉じた全部の行グループを開くならexpandAllRowGroups()
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシート指定の行グループを表示・指定外の行を非表示にする
関連記事:【GAS】スプレッドシートの指定行をグループ化する
関連記事:【GAS】スプレッドシートの指定行から複数行を非表示にする
関連記事:【GAS】スプレッドシートで行の非表示を再表示する
関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する
関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する
参考記事:【GAS】スプレッドシートに行を挿入する