GoogleAppsScriptでスプレッドシートを扱う際には、シートをスクリプト内で取得することが必要となります。
ここでは、3種類の方法でシートを取得していきます。
スプレッドシートからスクリプトを生成している場合は、
SpreadsheetApp.getActiveSpreadsheet()
でスプレッドシートを取得することができます。
get_ss.js
var ss = SpreadsheetApp.getActiveSpreadsheet(); # 紐付いたスプレッドシートの取得
上の手法だと1スクリプトにつき、1スプレッドシートしか取得することができません。 複数スプレッドシートを取得する場合は、スプレッドシートを直接指定することとなります。
get_ss_byid.js
var ss = SpreadsheetApp.openById('[ID]');
この場合のIDは、スプレッドシートのURL(https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxx/edit のxxxの部分)となります。
上とほとんど同じですが、URLを直接指定して取得することもできます。
index.html
var ss = SpreadsheetApp.openByUrl('[URL]');
どのメソッドを使うべきかは、複数スプレッドシートを使う場合と使わない場合で変わります。
1スプレッドシートしか使わないような簡単なアプリだったらgetActiveSpreadsheet()
でよいと思いますが、
複数スプレッドシートを使うようなアプリの場合、SpreadsheetApp.openById()
を使用してみましょう。
1つのスプレッドシートのみ使用する場合 | SpreadsheetApp.getActiveSpreadsheet() |
2つ以上のスプレッドシートを利用する場合 | SpreadsheetApp.openById() または SpreadsheetApp.openByUrl() |