GASでスプレッドシートのすべての列グループを表示するには「expandAllColumnGroups()
」を利用する。
expandAllColumnGroups()
シート上のすべての列グループを展開します。このメソッドには、少なくとも1つの列グループが必要です。
https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#expandallcolumngroups
expandAllColumnGroups()の戻り値
Range—この範囲、連鎖用。
スプレッドシートのすべての列グループを表示するGAS
function myFunction() {
//アクティブなスプレッドシートを返す
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブな0番目のシートを取得!
var sht = ss.getSheets()[0];
//見出しテキストを作成
var midashi = [
["概要","内容","項目","ナンバリング","備考","memo1","memo2","memo3"]
];
//見出しテキストを1行目に設置
sht.getRange("A1:H1").setValues(midashi);
//見出しテキストを装飾
sht.getRange("A1:H1").setFontWeight("bold").setFontSize(20);
//繰返しテキストを変数へ格納
var array1,array2,array3,array4,array5,array6,array7
array1 = "Spread";
array2 = "Sheet";
array3 = ".BLUE";
array4 = "補足";
array5 = "著者は"
array6 = "OYAKUN"
array7 = "だよ~"
//変数を繰り返しA~H列の101行目まで入力
for(let i=2;i<=101;i++){
sht.getRange(i,1).setValue(array1);//101行目までarray1をセット
sht.getRange(i,2).setValue(array2);//101行目までarray2をセット
sht.getRange(i,3).setValue(array3);//101行目までarray3をセット
var array = array1+array2+array3; //配列テキストの合体!
sht.getRange(i,4).setValue(array+(i-1));//101行目まで連番セット
sht.getRange(i,5).setValue(array4+(i-1));//101行目までarray4+i-1セット
sht.getRange(i,6).setValue(array5);//101行目までarray5セット
sht.getRange(i,7).setValue(array6);//101行目までarray6セット
sht.getRange(i,8).setValue(array7);//101行目までarray7セット
}
//変数に格納し列グループを作成し閉じる
var rng = sht.getRange("B:C");//shiftColumnGroupDepth(delta)でグループ化する範囲(collapseGroupsで閉じられる範囲)
var rng2 = sht.getRange("E1");//shiftColumnGroupDepth(delta)でグループ化する範囲(collapseGroupsで閉じられる範囲)
var num = 1; //shiftColumnGroupDepth(delta)でグループ化する深さ(最大8)
rng.shiftColumnGroupDepth(num);//shiftColumnGroupDepth(delta)で列をグループ化
rng2.shiftColumnGroupDepth(num);//shiftColumnGroupDepth(delta)で列をグループ化
rng.collapseGroups();//collapseGroupsで列グループを閉じる
rng2.collapseGroups();//collapseGroupsで列グループを閉じる
//メッセージボックスでYESNOを確認
var result = Browser.msgBox("全ての閉じられた列グループを開きますか?",Browser.Buttons.YES_NO);
if(result == "no"){
Browser.msgBox("列グループを開きませんでした");//noだったらそのまま
} else {
sht.expandAllColumnGroups();//expandAllColumnGroupsで全ての閉じグループを開く
Browser.msgBox("全ての列グループを開きました!")//メッセージを掲載!
}
}
スプレッドシートのすべての列グループを表示するGAS実行の様子
expandAllColumnGroups()メソッドを利用して、スプレッドシートのすべての列グループを表示するGASを実行してみました。
スプレッドシートのすべての列グループを開かない場合
expandAllColumnGroups()を実行しないとき、列グループは開きません。
スプレッドシートのすべての列グループを表示する場合
expandAllColumnGroups()を実行すると、すべての閉じた列グループが開かれます。
スプレッドシートのすべての列グループを表示するまとめ
GAS×スプレッドシートのすべての列グループを表示するならexpandAllColumnGroups()
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートの指定列をグループ化する
関連記事:【GAS】スプレッドシートの指定範囲の列を再表示する
関連記事:【GAS】スプレッドシートの指定列から始まる複数列を削除する
関連記事:【GAS】スプレッドシートで指定した列幅を最適化する
関連記事:【GAS】スプレッドシートに列を挿入する
関連記事:【GAS】スプレッドシートで指定した列幅を最適化する
関連記事:【GAS】スプレッドシートに列を挿入する