グーグルスプレッドシートのコピーを一番左のシートに作るスクリプト 【Google Apps Scriptのサンプルコード】

問題はシートのコピーを隣にしか作ってくれないグーグルスプレッドシートの仕様にありました。

グーグルスプレッドシート(google-spreadsheet)を使って見積書を管理しています。

リピートの仕事の見積もり依頼があって、去年の見積もりをコピーして、一部を修正し、今年の見積もりにしたいということ。

よくありませんか?

そんなときにグーグルスプレッドシートはコピーを昨年のシートの隣にしか作ってくれません。

時系列で右から左に向かって新しい見積もりにして管理している私のような人は困ってしまいます。

ドラッグアンドドロップで一生懸命シートを移動するのも酷な話です。

そこで以下のようなスクリプトを作ってみました。

function move_sheet_to_first(){
  SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
 SpreadsheetApp.getActiveSpreadsheet().moveActiveSheet(1);
}

一行で収めようとしたのですが、力及ばず2行になりました。

また、以下のようにしてスプレッドシートのメニュー化もしました。

function onOpen(){
  var myMenu=[
    {name: "見積コピー", functionName: "move_sheet_to_first"},
  ];
  SpreadsheetApp.getActiveSpreadsheet().addMenu("見積コピー",myMenu); 
}

あとは、見積もり依頼を待つばかりです。