本記事では、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でスプレッドシートを操作するための基本中の基本です。ぜひ、本記事を参考に活用してください。