【コピペで使える】スプレッドシートをGASでコピーしてみる

how-to-copy-a-specific-sheet-file
URLをコピーする
URLをコピーしました!
目次

スプレッドシートをGASでコピーしてみる

今回の記事では、GASを使ってスプレッドシートをコピーする方法をご紹介します。スプレッドシートのコピーは名前を指定するだけで実行できますので、使い方は非常に簡単です。

しかしながら、スプレッドシートをコピーする頻度は少なくないので、ぜひやり方を覚えてもらいたいです。

GASでは処理はできるだけシンプルな方が良いので、注文書や見積書など、定型フォーマットがあるようなファイルをGASを使って量産する場合などに、テンプレートファイルをコピーして値を書き込んでいくというような機能を実装する機会は多くあります。

その際に活用できるのが今回ご紹介するcopy()というメソッドです。

今回はSpreadsheetAppのcopy()メソッドのご紹介ですが、DriveAppにもmakeCopy()というメソッドがあり、ドライブ上にあるファイルはmakeCopy()メソッドでもコピーが可能です。

ちなみに、上記2つのメソッドの違いは、コピー先のフォルダを指定できるかどうかが大きな違いかと思います。

DriveAppのmakeCopyでは任意のフォルダにコピーを作成することができるのですが、SpreadsheetAppのcopy()では、コピー先はマイドライブ直下になりますので、コピーしたファイルを任意のフォルダに移動させたい場合はやはり、DriveAppのmoveTo()メソッドと併用することが必要になります。

本記事が役立つターゲット読者

  • スプレッドシートをコピーしたい方
  • テンプレートをコピーしてファイルを作成したい方

スプレッドシートをコピーするコード

本ページでは、任意のファイル名を付けてスプレッドシートをコピーする方法をご紹介します。

  1. copy(スプレッドシートをコピーする)

copy(name)のサンプルコード

引数に入れる値

  • name(文字列) — コピーしたファイルのファイル名を指定

サンプルコード

const url = "https://docs.google.com/spreadsheets/d/1Gb0cCbdFBWkaodV2U3oxfiQfJ5m8AYTSHW0JQt3TdFU/";

//マイドライブに任意のスプレッドシートファイルをコピーするサンプルコード
function sampleCodeForCopySpreadsheet() {
  let name = "サンプルスプレッドシートのコピー";
  let ss = SpreadsheetApp.openByUrl(url);
  ss.copy(name);
}

変数の説明

url = スプレッドシートURL
name = コピーしたスプレッドシートのファイル名
ss = 取得したスプレッドシートファイル

使い方は非常にシンプルで、コピーしたスプレッドシートのファイル名さえ指定してしまえばマイドライブ直下に任意の名前でスプレッドシートファイルがコピーできます
上記のサンプルコードでは、スプレッドシートURLを使ってファイルを指定していますが、もちろんスプレッドシートIDを使った方法でも問題なくコピーできます

今回、サンプルに利用したスプレッドシートは

からアクセスができます。

マイドライブにばかりファイルをコピーしてしまうと、マイドライブがごちゃごちゃになっていしまいますので、コピーしたファイルを任意のフォルダ2移動させるコードも一緒にご紹介します。

//マイドライブに任意のスプレッドシートファイルをコピーして任意のフォルダに移動させるサンプルコード
function sampleCodeForCopyAndMoveSpreadsheet() {
  let name = "サンプルスプレッドシートのコピー";
  let ss = SpreadsheetApp.openByUrl(url);
  let fileId = ss.copy(name).getId();
  moveFile(fileId);
}

//任意のフォルダにファイルを移動させるサンプルコード
function moveFile(fileId) {
  let folder = DriveApp.getFolderById("1Xz-dUPc3iNU7BSTF80Z6AsZ42iwv3eOj"); //任意のフォルダを指定してください
  let file = DriveApp.getFileById(fileId);
  file.moveTo(folder);
}

url = スプレッドシートURL
name = コピーしたスプレッドシートのファイル名
ss = 取得したスプレッドシートファイル
fileId = コピーしたスプレッドシートのファイルID

上記コードでは、コピーしたスプレッドシートからスプレッドシートIDを取得して、DriveAppのmoveToメソッドと組み合わせる事によってコピーしたファイルを任意のフォルダに移動させています。

このようにDriveAppと組み合わせることでより実際の業務に即した運用ができるようになると思います。

まとめ

今回は、スプレッドシートをコピーする方法をご紹介しました。
今日から早速使えそうな気がしてきましたよね。

ぜひ、業務の自動化の一助としてください。

how-to-copy-a-specific-sheet-file

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初心者でもわかるGoogle Apps Script活用のススメの管理人。
業務でラクをするという邪な目的のためにプログラムを独学で勉強し始め、初心者向けのGoogle Apps Scriptの使い方サイトを運営するに至る。
ラクをするためにはどんな苦労も厭わないという考えから、手っ取り早くスキルアップするためにCrowdWorksやLancersなどで仕事を受注し始め、過去にはTopClass PRO Crowd workerに認定された経験を持つ。
現在では、業務効率化システムの開発を行う会社の代表を務める。

コメント

コメントする

目次
トップへ
目次
閉じる