【GAS】スプレッドシート・シート・セルをコピー(複製)する
Google Apps Script(GAS)のスプレッドシートをコピーする方法をご紹介します。
シートをコピーする方法を下記をご覧ください。
スプレッドシートを同じ場所にコピーする
file.makeCopy( 'fileName’)
- file:コピー対象のスプレッドシートのファイルクラス(※スプレッドシート以外のファイル形式もOK)
コピーしたい対象のファイルのIDはURLに記載されています。https://docs.google.com/spreadsheets/d/{ファイルID}/editをidとして使ってください。
let id = 'コピー元スプレッドシートのファイルID';
let file = DriveApp.getFileById(id);
// コピーの実行
file.makeCopy('copied_file'); // 任意の名称でOK
ファイルIDの一括取得をスクリプトで記述する方法
スクリプトから複数のファイルIDを一括で取得することも可能です。詳細は下記の記事でご確認ください。
スプレッドシートをフォルダ指定でコピーする
file.makeCopy( 'fileName’, folder)
別のフォルダにコピーする場合は、格納先のフォルダクラスを引数として指定します。フォルダIDはファイルIDと同様にURLから取得できます。
let id = 'コピー元スプレッドシートのファイルID';
let file = DriveApp.getFileById(id);
let folderId = 'コピー先のフォルダID'
let folder = DriveApp.getFolderById(folderId);
// コピーの実行
file.makeCopy('copied_file' ,folder);
フォルダID取得をスクリプトで記述する方法
実行しているファイルからたどって親ファイル等のファイルIDを取得することも可能です。
まとめ
Google Apps Script(GAS)のスプレッドシートをコピーする方法をご紹介しました。
- ファイルIDを指定してファイルクラスを取得し、makeCopyメソッドを実行することでスプレッドシートをコピーできる
- フォルダIDを取得してフォルダクラスを取得し引数とすることで指定フォルダにコピーできる