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つを使う