シートを操作する

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

GASでスプレッドシートをコピーして新規シートを作成するには「copy(name)」を利用する。

copy(name)

スプレッドシートをコピーして、新しいスプレッドシートを返します。

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

スプレッドシートをコピーして新規シートを作成するGAS実行の様子

copy(name)メソッドを利用して、スプレッドシートをコピーして新規シートを作成するGASを実行してみました。

copy(name)-yes
copy(name)-を実行した場合

create(name)と違い、

  • 現在のスプレッドシートファイルの名前に
  • 別の名前を付与する

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

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

スプレッドシートをコピーして新規シートを作成するGAS

function sheetdelete(){
  //SpreadsheetAppを起動
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //Sheet1を取得
  var spname = ss.getName();
  //YES/NOを設定
 var result = Browser.msgBox("シートをコピーして\\n新しいスプレッドシートを生成しますか?",Browser.Buttons.YES_NO);

 //ーーーーー条件分岐ーーーーー
  //YESだったら
   if(result == "yes"){
    //このスプシファイルをコピーして新規スプシを作成
      var copyss = ss.copy("コピー"+spname);
      var shtname = copyss.getName();
      var shturl = copyss.getUrl();
      Browser.msgBox("生成したスプシファイル名は「"+shtname+"」で、シートURLは「"+shturl+"」です!")
    } else {
      Browser.msgBox("新規スプシファイルは生成しませんでした。")
    }
 //ーーーーーここまでーーーーー
}

copy(name)のパラメーター

名前タイプ説明
nameStringコピーの名前。
copy(name)のパラメーター

copy(name)の戻り値

Spreadsheet—チェーン用のこのスプレッドシート。

スプレッドシートをコピーして新規シートを作成するまとめ

GAS×スプレッドシートをコピーして新規シートを作成するならcopy(name)メソッドを利用しましょう。

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

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

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

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

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

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

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

-シートを操作する