GASでアクティブシートの取得・変更方法について解説

今回はGoogleAppsScriptでアクティブシートを取得する基本的な書き方から、
シート名やシートの位置を指定してアクティブシートを変更する方法を解説します。

目次

アクティブシートを取得する方法

はじめに、アクティブシートを取得する方法について解説します。
アクティブシートは、次のように書くことで取得することができます。

function myFunction() {
  var activeSheet = SpreadsheetApp.getActiveSheet();
  Logger.log(activeSheet.getName());
}

SpreadsheetAppのgetActiveSheet関数を使うことによって、アクティブシートを取得することができます。

getName()関数を使うことによって、対象となっているシート名を確認することができるので、
意図通りのシートが取得することができているかの確認に便利です。

ただ、スプレッドシートを使っていると、
操作したいシートはスプレッドシートを開いた時のシート(初期アクティブシート)となることはあまりないかと思います。
そんな時には、操作したいシートを変更する必要があります。
なので、操作したいシートを変更する方法を次に解説します。

アクティブシートを変更(指定)する方法

アクティブシートを変更でよく使うのには2つのパターンがあります。

  • シート名で指定
  • シートの位置で指定

ある固定のシート名であれば、シート名のほうが楽なのですが、
シートが新規で追加されていて、一番左端の新規シートを操作したいといった場合には
シートの位置で取得する方法が便利です。

シート名でアクティブシートを変更

シート名で指定する場合には、次のように書くことで取得することができます。

function myFunction() {
  var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = spreadSheet.getSheetByName("シート3");
  Logger.log(activeSheet.getName());
}

少し記述が増えましたが、まずはgetActiveSpreadsheet関数を使うことによってスプレッドシートを取得します。
そのスプレッドシートの中からシート名でとってくるときにgetSheetByName()を使うことによって、
指定したシート名のシートを取得することができるようになります。

シートの位置でアクティブシートを変更

シートの位置で指定する場合には、次のように書くことで取得することができます。

function myFunction() {
  var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = spreadSheet.getSheets()[0];
  Logger.log(activeSheet.getName());
}

まず、スプレッドシートを取得してくるところはシート名で指定する場合と同様です。
その次に、getSheets()関数を使うことによってシートの一覧を取得してきます。
[]の中の数字で何番目のシートを取ってくるかと指定しています。
ここで注意なのが、0を指定すると1番目のシートを取得しています。
2と指定すれば、3番目を取ってくるような感じです。
1ずれていると理解していただければと思います。

まとめ

アクティブシートを取得するには、複雑でないスプレッドシートであれば getActiveSheetを使う。
運用上、シートが複数にまたがったり、作業したいシートが切り替わる場合にはシートや位置を指定して使う。
シートを指定する場合にはgetSheetByName、位置を指定する場合にはgetSheetsを使う。

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

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