サイト名変更・お引越しのお知らせ

【GAS】Google Apps ScriptでSpreadSheetのワークブックを指定する方法を解説

Google Apps Script(以下GAS)で、SpreadSheetを扱いたい場合には必ず対象のワークブックを指定します。

その指定方法についてケース別で解説します。

この記事でわかること
  • ケース別のワークブックの指定の方法がわかる

モグモグさん

【参考】GASの2つの種類であるコンテナバインド型とスタンドアロン型についてはこちらの記事で解説しています。

抑えておきましょう!

【コンテナバインド型】SpreadSheetからGASを開いている場合

getActiveSpreadsheetを使う

紐づいているSpreadSheetのワークブックを取得できます。

const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();

モグモグさん

最も簡単なやり方だと思います!

注意

スタンドアロン型ではこのメソッドは使えません。

openByUrlを使う

SpreadSheetのURLを直接指定します。

const spreadsheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/abcdefg/edit");

openByIdを使う

SpreadSheetのURLからIDを抜き出して渡します

// https://docs.google.com/spreadsheets/d/abcdefg/edit" => このURLだと、「abcdefg」の箇所がID
const spreadsheet = SpreadsheetApp.openById("abcdefg");

【スタンドアロン型】GASのホーム画面からGASを開いている場合

このケースでは、getActiveSpreadsheet以外の2つのメソッドが使えます。

モグモグさん

【参考】ホーム画面はこちらです。

openByUrlを使う

SpreadSheetのURLを直接指定します。

const spreadsheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/abcdefg/edit");

openByIdを使う

SpreadSheetのURLからIDを抜き出して渡します

// https://docs.google.com/spreadsheets/d/abcdefg/edit" => このURLだと、「abcdefg」の箇所がID
const spreadsheet = SpreadsheetApp.openById("abcdefg");

まとめ

ケース別にSpreadSheetのワークブックを指定する方法について解説しました。

最後に方法のまとめです。

方法のまとめ
  • コンテナバインド型: getActiveSpreadsheet(), openByUrl(“url”) もしくはopenById(“id”)を使う
  • スタンドアロン型: getActiveSpreadsheet()は使えないので、他の2つを使う