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)メソッドなら、
- インデックス数とシート名を指定して
- 新規シートを挿入する
といったことが可能です。
参照記事:【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)のパラメーター
名前 | タイプ | 説明 |
---|---|---|
sheetIndex | Integer | 新しく作成されたシートのインデックス。スプレッドシートの最初のシートとしてシートを挿入するには、シートを0に設定します。 |
options | Object | オプションのJavaScript高度な引数。 |
insertSheet(sheetIndex, options)の高度なパラメーター
名前 | タイプ | 説明 |
---|---|---|
template | Sheet | テンプレートシートオブジェクトのすべてのデータが新しいシートにコピーされます。シートテンプレートは、Spreadsheetオブジェクトのシートの1つである必要があります。 |
insertSheet(sheetIndex, options)の戻り値
Sheet—新しいシート。
スプレッドシートにインデックスとオプションを指定した新規シートを挿入するまとめ
GAS×スプレッドシートにインデックスとオプションを指定した新規シートを挿入するならinsertSheet(sheetIndex, options)
メソッドを利用しましょう。
もはやinserSheet(sheetIndex,options)
があれば、
insertSheet(sheetIndex,options)
insertSheet(options)
どちらも不要なんじゃないか...
関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する
関連記事:【GAS】スプレッドシートのグリッド線を非表示にする
関連記事:【GAS】スプレッドシートをコピーして新規シートを作成する
関連記事:【GAS】スプレッドシートのアクティブシートを削除する
関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す
関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする
関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する