Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

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/

negito6
今はこの会社で、水産養殖 IoT の仕事してます。 https://umitron.com/ja/ 編集リクエスト、コメント大歓迎です。よろしくお願いします
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした