シートを操作する

【GAS】スプレッドシートにオプションを指定した新規シートを挿入する

GASでスプレッドシートにオプションを指定した新規シートを挿入するには「insertSheet(options)」を利用する。

insertSheet(options)

デフォルトのシート名とオプションの高度な引数を使用して、新しいシートをスプレッドシートに挿入します。新しいシートがアクティブシートになります。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#insertsheetoptions

スプレッドシートにオプションを指定した新規シートを挿入するGAS実行の様子

insertSheet(options)メソッドを利用して、スプレッドシートにオプションを指定した新規シートを挿入するGASを実行してみました。

insertSheet(options)-yes
insertSheet(options)を実行した場合

insetSheet(sheetIndex)でインデックス番号を指定すよりは、insertSheet(options)メソッドでテンプレとなるシート名を指定する方が使いやすいです。

参照記事:【GAS】挿入するインデックスを指定してスプレッドシートに新規シートを挿入する

スプレッドシートにオプションを指定した新規シートを挿入するGAS

function insert_option(){
  //SpreadsheetAppを起動
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //0番目のシートを取得
  var sht = ss.getSheets()[0];
  //テキストblueをshtnmへ格納
  var shtnm = "blue";

  //YES・NOを設定
 var yesno = Browser.msgBox("シート名を「"+shtnm+"」へ変更して\\n新規シートを挿入しますか?" ,Browser.Buttons.YES_NO_CANCEL);
 //ーーーーー条件分岐ーーーーー
  //YESだったら
    if(yesno=="yes"){
      //0番目のシートの名前をshtnmへ変更
        var tempsht = sht.setName(shtnm);
      //■insertSheetでオプション(templateとなるシート)を指定してシート挿入
        var insht = ss.insertSheet({template:tempsht});
      //newshtnmにアクティブシートの名前を格納
        var newshtnm = insht.getSheetName();
      //処理内容をメッセージで掲載
      Browser.msgBox("「"+newshtnm+"」シートを挿入・Activeにしました!")
    }else{
      //Noのときの処理内容をメッセージで掲載
      Browser.msgBox("新規シートの挿入はしませんでした。")
    }
//ーーーーーここまでーーーーー
}

insertSheet(options)のパラメーター

名前タイプ説明
optionsObject以下にリストされているオプションのJavaScript高度な引数。
insertSheet(options)のパラメーター

insertSheet(options)の高度なパラメーター

名前タイプ説明
templateSheetテンプレートシートオブジェクトのすべてのデータが新しいシートにコピーされます。シートテンプレートは、このスプレッドシートオブジェクトのシートの1つである必要があります。
insertSheet(options)のパラメーター

insertSheet(options)の戻り値

Sheet—新しいシート。

スプレッドシートにオプションを指定した新規シートを挿入するまとめ

GAS×スプレッドシートにオプションを指定した新規シートを挿入するならinsertSheet(options)メソッドを利用しましょう。

オプションを指定することで、

  1. 任意のシート名に変更
  2. 変更したシート名をコピーして
  3. 新規シートを作成・挿入

といった操作を一発で行えるようになります。

関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する

関連記事:【GAS】スプレッドシートのグリッド線を非表示にする

関連記事:【GAS】スプレッドシートのシート名を変更する

関連記事:【GAS】スプレッドシートをコピーして新規シートを作成する

関連記事:【GAS】スプレッドシートのアクティブシートを削除する

関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す

関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする

関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する

関連記事:【GAS】スプレッドシートでアクティブなシートを返す

関連記事:【GAS】スプレッドシートでアクティブなシートを取得する

-シートを操作する