スクリプトファイルの作り方
Spreadsheet にアクセスするスクリプトを作る方法は二つあります。
方法その1. Spreadsheet に紐付いたスクリプトを作る方法
Container Bound Script と呼ばれる Script を作る方法です。
Spreadsheet のファイルから、メニューの [ツール] -> [スクリプト エディタ] を選択
方法その2. 独立したファイル(Spreadsheet に紐付いていないファイル)を作る方法
Google Drive のホーム画面から、[新規]ボタン -> [その他] -> [Google Apps Script] を選択
二つの違い
Spreadsheet に紐付けた場合は、共有範囲も Spreadsheet のファイルと同じになります。
独立したファイルを作った場合は、それぞれ個別に共有範囲を設定することができます。
「Spreadsheet には他人に書き込み権限を与えたいけど、スクリプトに書き込めるのは自分だけにしたい」という場合には、独立したファイルを作る必要があります。
その他の違いなど:
http://qiita.com/soundTricker/items/4d04c97c499b22886dfd#2-3
Spreadsheet ファイルへのアクセス
独立したファイル(Spreadsheet に紐付いていないファイル)の場合
var spreadsheet = SpreadsheetApp.openById('<キー>');
キーは、URL https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxx/edit の xxxxxxxxxxxxxxxx の部分です。
Container Bound Script の場合
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
getActiveSpreadsheet
は getActive
でも同じです。
sheet にアクセスする
( spreadsheet
は上記で取得した Spreadsheet です)
今開いているシートを取得
var sheet = spreadsheet.getActiveSheet();
Container Bound Script の場合、Spreadsheet オブジェクト (例では spreadsheet
) の取得をせずに
var sheet = SpreadsheetApp.getActiveSheet();
も可
シートを名前で指定して取得
var sheet = spreadsheet.getSheetByName('<シート名>');
何番目のシートかを数字で指定して取得
var sheet = spreadsheet.getSheets()[0];
参考: https://developers.google.com/apps-script/reference/spreadsheet/