見出し画像

【GoogleAppsScript】スプレッドシートのシートを新規追加

今回のプログラムはこんな感じです



スプレッドシートを使う際に「Google Apps Script(GAS)のスクリプト」を使うと便利です。

例えば、毎月のレポートを自動で生成する際に、月が変わったタイミングで、新規シートを作成する際に自動で作成させる。

毎月コピー&ペーストで作成するより、自動作成させれば便利です。

まずはスプレッドシートを開きます


ブラウザから、スプレッドシートを起動させます。


スプレッドシートから「GoogleAppsSrcipt」を起動します


スプレッドシートを起動したら、メニューバーにある、拡張機能より「AppsScript」を選択します。

選択したら、GoogleAppsScriptが起動しますので、プログラムを記述していきます。



ここからプログラムを書いていきます。


まず、スプレッドシート名IDを設定する

スプレッドシートに戻り、URL部分

http://docs.google.com/spreadsheets/d/

この後ろの

/edit/#gid=0

までの「/」で区切られた英数字がスプレッドシートIDになります。
このIDをプログラム側で設定してあげます。

  //スプレッドシートのID設定
  const spId = '[スプレッドシートID]';

これがないと、どのスプレッドシートに反映なのか?

わからないので必須です。

スプレッドシートIDを指定してスプレッドシートを開きます


スプレッドシートIDを指定したら、どのスプレッドシートを開くかを指定します。

適当なスプレッドシートを指定し、仮に一致した場合他の人のスプレッドシートを開く可能性があるので注意してください。

  //スプレッドシートを取得
  let mySheet = SpreadsheetApp.openById(spId);  


次に新しいシート作成をする


Google Apps Scriptでスプレッドシートの新しいシートを追加するために、「insertSheetメソッド」が用意されています。

  //スプレッドシートに新しいシートを追加する
  let newSheet = mySheet.insertSheet();

insertSheetメソッドはスプレッドシートのクラスであるSpreadsheetオブジェクトで実行できるメソッドです。

引数不要でinsertSheetメソッドを実行すると、実行したスプレッドシートオブジェクトにシートが追加されます。

シートの追加自体は、insertSheetメソッドを実行するだけで1行のGASコードで実装可能です。

シート追加時は名前が必須です。

GoogleAppsScriptでシートを追加した際の注意ポイントがあります。

insertSheetメソッドで追加したシート名は、スプレッドシートでシートを追加した際と同様に、「シート○○○」という名称で生成されます。

シートを追加挿入しているうちにデフォルトの名称だとわかりにくくなります。

そのため、insertSheetメソッドを使った際には、setNameメソッドでシート名を設定すれば便利です。

  //新しいスプレッドシートに名前を設定する
  newSheet.setName("GAS追加シート");


実行すると、下のタブにシートが追加されます。


サンプルプログラム

function myFunction() {

  //スプレッドシートのID設定
  const spId = '[スプレッドシートID]';
  //スプレッドシートを取得
  let mySheet = SpreadsheetApp.openById(spId);  
  //スプレッドシートに新しいシートを追加する
  let newSheet = mySheet.insertSheet();
  //新しいスプレッドシートに名前を設定する
  newSheet.setName("GAS追加シート");

}


もっとGoogleAppsScriptを学びたい人はこの一冊!

#GoogleAppsScript #プログラミング #プログラミング初心者 #JavaScript #javascript初心者

この記事が気に入ったらサポートをしてみませんか?