GASでスプレッドシートにオプションを指定した新規シートを挿入するには「insertSheet(options)
」を利用する。
insertSheet(options)
デフォルトのシート名とオプションの高度な引数を使用して、新しいシートをスプレッドシートに挿入します。新しいシートがアクティブシートになります。
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#insertsheetoptions
スプレッドシートにオプションを指定した新規シートを挿入するGAS実行の様子
insertSheet(options)メソッドを利用して、スプレッドシートにオプションを指定した新規シートを挿入するGASを実行してみました。
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)のパラメーター
名前 | タイプ | 説明 |
---|---|---|
options | Object | 以下にリストされているオプションのJavaScript高度な引数。 |
insertSheet(options)の高度なパラメーター
名前 | タイプ | 説明 |
---|---|---|
template | Sheet | テンプレートシートオブジェクトのすべてのデータが新しいシートにコピーされます。シートテンプレートは、このスプレッドシートオブジェクトのシートの1つである必要があります。 |
insertSheet(options)の戻り値
Sheet—新しいシート。
スプレッドシートにオプションを指定した新規シートを挿入するまとめ
GAS×スプレッドシートにオプションを指定した新規シートを挿入するならinsertSheet(options)
メソッドを利用しましょう。
オプションを指定することで、
- 任意のシート名に変更
- 変更したシート名をコピーして
- 新規シートを作成・挿入
といった操作を一発で行えるようになります。
関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する
関連記事:【GAS】スプレッドシートのグリッド線を非表示にする
関連記事:【GAS】スプレッドシートをコピーして新規シートを作成する
関連記事:【GAS】スプレッドシートのアクティブシートを削除する
関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す
関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする
関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する