GAS備忘録スプレッドシート・シート

作成日:2020.02.20
  1. HOME
  2. 趣味のページ
  3. スプレッドシート・シート
タイトル:スプレッドシートやシートの属性を取得する・変更する

スプレッドシートやシートの様々な属性を取得する方法をまとめておきます。

  1. スプレッドシートの属性取得
  2. シートの追加・削除
  3. シートIDの取得
  4. シート名を取得・変更
  5. シートタブ色の取得・変更
  6. シートの表示・非表示

スプレッドシートの属性取得

スプレッドシートの名前や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はセルのリンクを取得すると表示されています。

「このセルのリンクを取得」するとシート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();  //非表示でないなら、隠す
}
data-matched-content-rows-num="4,2" data-matched-content-columns-num="1,3" data-matched-content-ui-type="image_stacked,image_card_sidebyside">