【GAS】スプレッドシート・シート・セルをコピー(複製)する

GASgetFileById,getFolderById,makeCopy,スプレッドシート

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を取得してフォルダクラスを取得し引数とすることで指定フォルダにコピーできる
この記事を書いた人

てつお
広告代理店出身、事業会社でWebマーケティングや開発の仕事をしている26歳です。プロフィール詳細はこちら
■Google広告認定資格|Google アナリティクス個人認定資格(GAIQ)|TOEIC920点