GASでスプレッドシートのアクティブシートを複製してアクティブシートにするには「duplicateActiveSheet()
」を利用する。
duplicateActiveSheet()
アクティブシートを複製してアクティブシートにします。
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=en#duplicateactivesheet
スプレッドシートのアクティブシートを複製してアクティブシートにするGAS実行の様子
duplicateActiveSheet()メソッドを利用して、スプレッドシートのアクティブシートを複製してアクティブシートにするGASを実行してみました。
duplicateActiveSheet()
で作成されるシートはinsetSheet()
と異なり、アクティブシートのコピーといった
- 元のシート名+"のコピー"が自動で付与され
- アクティブなシートとなっている
ことがわかります。
スプレッドシートのアクティブシートを複製してアクティブシートにするGAS
function deleteActiveSheet() {
//SpreadsheetAppを起動
var ss = SpreadsheetApp.getActiveSpreadsheet();
//YES,Noでシートのコピーを作成するか確認
let result = Browser.msgBox("アクティブシートのコピーを作成しますか?",Browser.Buttons.YES_NO_CANCEL);
//ーーーーー条件分岐ーーーーー
//YESだったら
if(result == "yes"){
//duplicateActiveSheeetでシートコピーを作成
var newsht = ss.duplicateActiveSheet();
//コピーしたシートの名前を取得してnewnameへ格納
var newname = newsht.getSheetName();
//メッセージでコピーシートの名前を掲載
Browser.msgBox("新規シート「"+newname+"」を作成しました");
} else {
//作成しない場合
Browser.msgBox("シートのコピーは作成しませんでした");
}
//ーーーーーここまでーーーーー
}
duplicateActiveSheet()の戻り値
Sheet—新しいシート。
スプレッドシートのアクティブシートを複製してアクティブシートにするまとめ
GAS×スプレッドシートのアクティブシートを複製してアクティブシートにするならduplicateActiveSheet()
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する
関連記事:【GAS】スプレッドシートのアクティブシートを削除する
関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す
関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする
関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する