GoogleAppsScript
gas
spreadsheet
GoogleSpreadSheet

Google Apps Script で Spreadsheet にアクセスする方法まとめ

スクリプトファイルの作り方

Spreadsheet にアクセスするスクリプトを作る方法は二つあります。

方法その1. Spreadsheet に紐付いたスクリプトを作る方法

Container Bound Script と呼ばれる Script を作る方法です。
Spreadsheet のファイルから、メニューの [ツール] -> [スクリプト エディタ] を選択
image

すると、雛形が置かれたファイルが作られます。
image

方法その2. 独立したファイル(Spreadsheet に紐付いていないファイル)を作る方法

Google Drive のホーム画面から、[新規]ボタン -> [その他] -> [Google Apps Script] を選択

image

二つの違い

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();

getActiveSpreadsheetgetActive でも同じです。

sheet にアクセスする

spreadsheet は上記で取得した Spreadsheet です)

今開いているシートを取得

var sheet = spreadsheet.getActiveSheet();

Container Bound Script の場合、Spreadsheet オブジェクトの取得をせずに

var sheet = SpreadsheetApp.getActiveSheet();

も可

シートを名前で指定して取得

var sheet = spreadsheet.getSheetByName('<シート名>');

何番目のシートかを数字で指定して取得

var sheet = spreadsheet.getSheets()[0];

参考: https://developers.google.com/apps-script/reference/spreadsheet/