Google apps scriptでスプレッドシートを複製する
Google apps scriptでスプレッドシートを複製するには
- duplicateActiveSheet()
を使う。
・duplicateActiveSheet()
アクティブシートを複製し、アクティブシートにします。戻る
Sheet – 新しいシート
▼目次を▼
Google apps scriptでスプレッドシートを複製するスクリプト
アクティブシートをそのまま複製。複製されたシートはアクティブシートの右側に「シート名+のコピー」と表示される。
/*シートを複製*/
function shthukusei() {
//スプレッドシートAppを取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
//シートを複製
ss.duplicateActiveSheet();
}
Google apps scriptでスプレッドシートを複製してシート名を変更する
複製したシートの名前を「新シート100」に変更する。
/*複製したシートに名前を指定する*/
function sheethukusei2(){
//スプレッドシートAppを取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
//シートの名前を新シート100に
var sht = ss.renameActiveSheet('新シート100');
//複製したシートの名前を「新シート」に
ss.duplicateActiveSheet().setName('新シート');
}
この場合、複製したシートの名前で既存があるとエラーになる。
Google apps scriptでスプレッドシートを複製|同じシートがあったら終了する
複製したシート名が既存であれば削除するスクリプト。if関数を使ってる。
/*ドキュメントの名前を変更して複製する*/
function shtrenamehukusei(){
//スプレッドシートAppを取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
//新シートをshtnameに定義
var shtname = "新シート"
//shtnameをshtに格納
var sht = ss.getSheetByName(shtname);
//既に同じシート名(sht)があったら削除//
if(!sht){
Browser.msgBox('シートを複製して新シートに命名します');
//複製したシートの名前を変更する
ss.duplicateActiveSheet().setName('新シート');
//そうでなかったら同じシートを削除する
}else{
Browser.msgBox('新シートがあるから削除します');
ss.deleteSheet(sht);//shtを削除
return;
}
}
Google apps scriptでスプレッドシートを複製するsample
まとめ
sheetオブジェクト.duplicateActiveSheet()だけで複製出来るのでとても便利で簡単なメソッド。だけどアクティブシートを続けて複製していると、
- シート名+のコピー
- シート名+のコピーのコピー
- シート名+のコピーのコピーのコピー。。。
と続くので、ifと併用がオススメ。
ディスカッション
コメント一覧
まだ、コメントがありません