332
330

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-03-25

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

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 オブジェクト (例では spreadsheet) の取得をせずに

var sheet = SpreadsheetApp.getActiveSheet();

も可

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

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

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

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

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

332
330
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
332
330

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?