こんにちは、ばばーるです。
前回のおさらい
前回はOpenByIdとOpenByUrlを使ってスプレッドシートにアクセスする方法をご紹介しました。
- OpenByUrlはスプレッドシートのURLからアクセス
- OpenByIdはスプレッドシートのIDからアクセス
- OpenByIdの方が処理は速い
今回はスプレッドシートのシートにアクセスする方法をご紹介します。
スプレッドシートのシートにアクセスする方法
getActiveSheet(): スプレッドシート中のアクティブなシートを取得します。例えば、以下のgetActiveSheet()とgetName()を使うとアクティブなシートの名前を出力します。
function myFunction() {
const ss = SpreadsheetApp.getActiveSheet();
Logger.log(ss.getName());
}

元々のシートはこちら


たぬきさん
今更だけど、「アクティブ」って選択されているって意味なのか。

GAS
そうだよ。

たぬきさん
でも、このままだと”シート1″が毎回アクティブになっているか確認しなきゃいけないんじゃない?

GAS
ああ、それは大丈夫。
.getSheetByName(name)っていう便利な関数があるよ。
getSheetByName(name): 指定したシート名のシートを返します。例えば、nameのところに’シート1’を代入すれば、常に(アクティブなシートではなく)’シート1’を選択します。
function myFunction() {
const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName('シート1');
}
getSheets(): スプレッドシートの全てのシートを取得します。例えば、’シート1’と’シート2’がある場合に、getName()を使ってシート名を出力します。
function myFunction() {
const ss = SpreadsheetApp.getActive();
const sheets = ss.getSheets();
Logger.log(sheets[0].getName(),sheets[1].getName());
}
【補足説明】 1行目:アクティブなスプレッドシートを取得する。 2行目:getSheets()でスプレッドシートの全てのシートを取得する。 3行目:スプレッドシートの一番左端のシート(sheets[0])と左から2番目のシート(sheets[1])のシート名を.getName()で出力する。
以下の様にシート名が出力されます。

まとめ
今回はスプレッドシートのシートにアクセスする方法をご紹介しました。
- getActiveSheet(): アクティブなシートへアクセスできる
- getSheetByName(name): シートnameへアクセスできる
- getSheets(): シートの番号からアクセスする
次回はスプレッドシートからスクリプトを立ち上げる方法をご紹介します。
コメント
[…] Google Apps Script スプレッドシートのシートにアクセスする方法スプレッドシ… […]
[…] Google Apps Script for文でセルの値を取得するfor文は反復処理を行うための構文です。 for文を使うことでスプレッドシート上のセルの値を取得することができます。ideallifebody.com2020.12.02 Google Apps Script スプレッドシートのシートにアクセスする方法スプレッドシ… […]