業務の中で、スプレッドシートのGoogleドライブのファイルを複製する機会は少なくありません。ひな形を元にして案件ごとの個別データを作成するような状況において、GASで複製作業を自動化し、特定のフォルダに新しい名前で保存する方法をまとめました。
手作業でのテンプレート複製と、GASによる自動化の違い
手作業でファイルを複製する場合、毎回Googleドライブから元のテンプレートファイルを探して手動でコピーを実行し、ファイル名を書き換えてから目的のフォルダへ移動させる手間がかかります。また、誤ってマスター帳票に直接入力してファイルを汚してしまうリスクも付きまといます。
GASを使って処理を自動化したあとは、元のひな形を綺麗なまま保ちつつ、スクリプトを動かすだけで新しいファイルが目的のフォルダ階層に一発で生成されるようになります。
目的の階層に直接ファイルをコピーするスクリプト
対象のファイルIDと、保存先となるフォルダIDをそれぞれ取得して複製処理を行います。
const templateFile = DriveApp.getFileById("TEMPLATE_FILE_ID");
const destinationFolder = DriveApp.getFolderById("DEST_FOLDER_ID");
const copiedFile = templateFile.makeCopy("納品書_田中様", destinationFolder);
ファイル名と保存先フォルダオブジェクトの指定方法
取得したファイルオブジェクトに対して makeCopy メソッドを実行します。
引数を渡さずにコピーすると元のファイルと同じ階層に保存されますが、第1引数に新しいファイル名、第2引数にフォルダオブジェクトを渡すことで挙動を制御できます。第2引数にフォルダを指定しておくことで、目的の階層へ直接ファイルを保存することが可能です。

