スプレッドシートやシートの様々な属性を取得する方法をまとめておきます。
スプレッドシートの属性取得
スプレッドシートの名前やIDを取得する方法です。
- ss.getName()
- スプレッドシート名を取得する
- ss.getId()
- スプレッドシートのIDを取得する
- ss.getNumSheets()
- スプレッドシートのシート枚数を取得する
(サンプル)
var ss = SpreadsheetApp.getActiveSpreadsheet(); var name = ss.getName(); //サンプルだと「GAS動作確認用」 var id = ss.getId(); //URLの「spreadsheet/d/」~「/edit」の間の文字列 var sheets = ss.getNumSheets(); //サンプルだと3
シートの追加・削除
シートを追加したり削除したりする方法です。
- ss.insertSheet("シート名",挿入インデックス)
- 第一引数に指定した名前のシートを、第二引数の位置に挿入します。
- 引数は両方とも省略可
- ss.deleteSheet(sheet)
- シートを削除します。
(サンプル)
ss.insertSheet(); //アクティブシートの後ろにシートを追加する ss.insertSheet(ss.getNumSheets()); //最後のシートの後ろに追加する ss.deleteSheet(ss.getSheets()[0]); //最初のシートを削除する
サンプルだと、まず、シート1の後ろに「シート4」が追加されます。次に一番最後のシート3の後ろに「シート5」が追加されます。最後にシート1が削除されます。
シートIDの取得
各シートにも固有のIDが振られているので、そのIDを取得する方法です。
- sheet.getSheetId()
- シートのIDを取得する。
シートIDはセルのリンクを取得すると表示されています。
シート名を取得・変更
シート名を取得したり変更したりする方法です。
- sheet.getName()
- シート名を取得します。
- sheet.setName("シート名")
- シート名を変更します。
(サンプル)
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var name = sheet.getName(); //サンプルでは「シート1」 sheet.setName("先頭のシート"); //「シート1」→「先頭のシート」にシート名を変更
シートタブ色の取得・変更
シートタブの色を取得したり変更したりする方法です。
- sheet.getTabColor()
- シートタブの色を取得します。
- sheet.setTabColor()
- シートタブの色を変更します。
(サンプル)
var col = sheet.getTabColor(); //サンプルだと「#ff0000」 sheet.setTabColor("lime"); //シートタブの色を黄緑にする
シートの表示・非表示
シートが非表示になっているかどうか調べたり、表示・非表示の切り替えを行う方法です。
- sheet.hideSheet()
- シートを非表示にする
- sheet.showSheet()
- 非表示のシートを再表示する
- sheet.isSheetHidden()
- シートが非表示になっているかどうか調べる
- trueが非表示、falseが表示
(サンプル)
var sheet = ss.getSheets()[0]; //最初のシートを取得する //最初のシートが非表示になっているか調べる if ( sheet.isSheetHidden() ) { sheet.showSheet(); //非表示ならば、表示させる } else { sheet.hideSheet(); //非表示でないなら、隠す }