LoginSignup
1
1

More than 5 years have passed since last update.

googleスプレッドシートのテンプレートのコピーを簡単に行うGAS

Last updated at Posted at 2017-06-20

目的

テンプレートのコピー、コピーしたシートの名前を変える、という手順が面倒で一回で済ませたいと思って作りました。今回は「ファイル」等と同じ階層へメニューを追加する方法をとりました。

前提知識

パソコン操作ができれば作れると思います。そのくらいで実装できる簡単な内容です。

実装手順

  1. 処理を実装したいスプレッドシートを用意し、スクリプトエディタを起動1.png

  2. スクリプトエディタへコードを貼り付け(そのまま貼り付ければOK)
    1-2.png


    // シートのコピーを行う処理
    function sheetCopy() {
      var name = Browser.inputBox('新しいシート名を入力してください', Browser.Buttons.OK_CANCEL);

      if (name != 'cancel') {
        var sheet = SpreadsheetApp.getActiveSheet();
        SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet().setName(name);
      }
    }

    // メニューへ追加する処理
    function onOpen() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var menus = [{name: "シートを複製", functionName: "sheetCopy"}];
      ss.addMenu("custom menu", menus);
    }

保存するときにプロジェクトの名前を求められます。好きな名前をつけてください。

  1. リロードしてメニューを表示
    2.png

  2. 処理の実行...の前に承認
    3.png
    4.png
    5.png

  3. 処理実行
    6.png

  4. シートを複製できました
    7.png

機能拡張について

シートの複製部分をライブラリ化し、各スプレッドシートは最低限の記述で済ませる方法もあります。今回はハードルを低くするために一つのスプレッドシートの中で済ませました。
興味のある方はライブラリにする方法を調べて実装してみてください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1