シートを操作する

【GAS】スプレッドシートのアクティブシートを複製してアクティブシートにする

GASでスプレッドシートのアクティブシートを複製してアクティブシートにするには「duplicateActiveSheet()」を利用する。

duplicateActiveSheet()

アクティブシートを複製してアクティブシートにします。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=en#duplicateactivesheet

スプレッドシートのアクティブシートを複製してアクティブシートにするGAS実行の様子

duplicateActiveSheet()メソッドを利用して、スプレッドシートのアクティブシートを複製してアクティブシートにするGASを実行してみました。

duplicateActiveSheet()-yes
duplicateActiveSheet()を実行した場合

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】スプレッドシートのアクティブシートの名前を取得する

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

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

-シートを操作する