GASでシートを取得|4パターンの読み込み方をそれぞれ解説

本記事では、GASでスプレッドシートのシートを取得する方法を解説していきます。

GASでスプレッドシートの操作をするためには、シートを情報を取得する必要があります。基本中の基本ですので、ぜひ参考にしてください。

目次

全てのシートを取得する

function gas_sheet_acquisition() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheets();
}

全てのシート情報を取得するには、getSheetsメソッドを使用します。

実際に取得したシート情報から全てのシート名をログに出力してみましょう。

取得したシート情報から全てのシート名を表示する

function gas_sheet_acquisition() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheets();

  // 全てのシート名をログに表示
  for(let i = 0; i < sheet.length; i++) {
    console.log(sheet[i].getSheetName());
  }
}

getSheetNameメソッドで取得したシート情報からシート名を取得し、for文でひとつずつログに出力しています。

番号を指定してシートを取得する

function gas_sheet_acquisition() {
  const sheetIndex = 3;
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheets()[sheetIndex - 1];
}

getSheetsメソッドで取得した全てのシート情報にインデックス番号を追加することで、指定した番号のシート情報を取得することができます。

取得する番号をsheetIndexとして2行目で指定し4行目でsheetIndex - 1とする理由は、インデックス番号と実際のシート番号にズレがあるためです。

インデックス番号は0から始まるため、3番目のシートを取得したいならインデックス番号は2と指定しなければいけません。特に最初のうちはこのズレで意図しないエラーが起こる可能性もあるため、わかりやすいよう事前に調整しています。

指定した番号のシート名を表示する

function gas_sheet_acquisition() {
  const sheetIndex = 3;
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheets()[sheetIndex - 1];

  console.log(sheet.getSheetName());
}

4行目でインデックス番号を指定してシート情報を取得したので、getSheetNameメソッドを使ってログに出力しています。

開いているシート(アクティブなシート)を取得する

function gas_sheet_acquisition() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
}

今開いているシート(アクティブなシート)を取得するためには、getActiveSheetメソッドを利用します。

開いているシート名を表示する

function gas_sheet_acquisition() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();

  console.log(sheet.getSheetName());
}

シート名の取得は、getSheetNameメソッドを利用します。

シート名を指定して取得する

function gas_sheet_acquisition() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName("c");
}

シート名を指定して取得するために、getSheetByNameメソッドを使用します。引数に取得したいシート名を指定してください。

シート名はシートから編集できるので注意が必要

getSheetByNameメソッドを利用した取得はよく利用する方法ですが、1点注意が必要です。

シート名はスプレッドシートから直接変更することができるため、シート名が変更されるとエラーになってしまいます。

getSheetByNameメソッドを利用して取得する際は、シート名が変わらないように注意しましょう。

まとめ

今回は、GASでスプレッドシートのシートを取得する4つの方法を解説しました。

シート情報を取得するのは、GASでスプレッドシートを操作するための基本中の基本です。ぜひ、本記事を参考に活用してください。

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