シートを操作する

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

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

insertSheet(sheetIndex, options)

指定されたインデックスでスプレッドシートに新しいシートを挿入し、オプションの高度な引数を使用します。新しいシートがアクティブシートになります。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#insertsheetsheetindex,-options

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

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

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

insertSheet(Sheetindex,options)メソッドなら、

  • インデックス数とシート名を指定して
  • 新規シートを挿入する

といったことが可能です。

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

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

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

function insertsheet(){
  //SpreadsheetAppを起動
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //YES・NOを設定
 var result = Browser.msgBox("新規シートを挿入しますか?",Browser.Buttons.YES_NO_CANCEL);

 //ーーーーー条件分岐ーーーーー
  //YESだったら
   if(result == "yes"){
    //■insertSheetで新規シートを作成・挿入
    var newsht = ss.insertSheet();
    //挿入されたシートの名前を取得
    var shtname = newsht.getSheetName();
    //メッセージで作成・挿入したシートの名前を掲載
     Browser.msgBox("新規作成・挿入したシートは「"+shtname+"」です!")
    } else {
    //キャンセルした旨を掲載
     Browser.msgBox("シートの新規挿入をキャンセルしました。")
    }
 //ーーーーーここまでーーーーー
}

insertSheet(sheetIndex, options)のパラメーター

名前タイプ説明
sheetIndexInteger新しく作成されたシートのインデックス。スプレッドシートの最初のシートとしてシートを挿入するには、シートを0に設定します。
optionsObjectオプションのJavaScript高度な引数。
insertSheet(sheetIndex, options)のパラメーター

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

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

insertSheet(sheetIndex, options)の戻り値

Sheet—新しいシート。

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

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

もはやinserSheet(sheetIndex,options)があれば、

  • insertSheet(sheetIndex,options)
  • insertSheet(options)

どちらも不要なんじゃないか...

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

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

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

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

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

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

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

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

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

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

-シートを操作する