みなさんこんにちは!
公認会計士・税理士の高須賀です。
本日は「操作対象シートの取得方法」というテーマです。
スプレッドシートには、sheet1、sheet2、sheet3と複数のシートが存在する場合があります。
今回は操作対象とするシートの取得方法についてです。
1.シートが1つの場合
シートを操作する場合、SpreadsheetAppオブジェクト→SpreadSheetオブジェクト→sheetオブジェクトの順序で辿ります。
この順序で辿り、対象のシートを取得するというのが通常の流れです。
ですが、シートが1つしか存在しない場合には、getActiveSheetメソッドのみで取得するができます。
getActiveSheetメソッドはSpreadsheetAppクラスのメソッドとなります。
getActiveSheetメソッドはアクティブなシートを取得します。
戻り値はSheetオブジェクトとなります。
getActiveSheetメソッド
SpreadsheetApp.getActiveSheet()
function Sample(){
var sheet = SpreadsheetApp.getActiveSheet();
Logger.log(sheet.getName());
}
2.シートが複数の場合
複数のシートが存在する場合には、操作対象を明確にする必要があります。
シートを指定して、取得するようにしましょう。
シートを指定して取得する方法は2つあります。
シート名で指定する方法と配列のインデックスで指定する方法です。
3.シート名で指定する方法
利用するのはSpreadSheetクラスのgetSheetByNameメソッドです。
getSheetByName
Spreadsheetオブジェクト.getSheetByName(シート名)
function sample(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName(“名簿”);
Looger.log(sheet.getName());
}
4.配列のインデックスで指定する方法
こちら方法ではgetSheetsメソッドを使います。
戻り値は、Sheetオブジェクトの配列です。
すべてのシートを一旦取得するのです。
1番左にあるシートがインデックス0
2番目にあるシートがインデックス1
というように、全てのシートを格納します。
Spreasheetオブジェクト.getSheets()
全てのシートを格納した後は、操作対象としたいシートを指定します。
インデックスで指定して取得するという形をとります。
function sample(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = Spreadsheet.getSheets();
Logger.log(sheets[0].getName());
Logger.log(sheets[1].getName());
}
本日は以上となります。
ありがとうございました。