【GAS】スプレッドシートファイルの読み込み方!5つの取得方法をコード付きで解説!

【GAS】スプレッドシートの取得・読み込み方法まとめ【コピペOK】
mono
mono
こんにちは、monoです。

GAS(Google Apps Script)とスプレッドシートを使った実装するとき、まず必要なのがGASでスプレッドシートを読み込むことですよね。

スプレッドシートの読み込みは数行のプログラムで完結しますが、同じことを実現するにはいくつかの方法(メソッド)があるので、今回はそれらの方法を網羅的に紹介しますね。

当記事では、

  1. GASにおけるスプレッドシートのオブジェクト構造
  2. スプレッドシートファイルの取得・読み込み方法
  3. シートの取得・読み込み方法

について解説します。

目次

GASにおけるスプレッドシートのオブジェクト構造

GASでスプレッドシートを操作する際には、スプレッドシート内のオブジェクトの階層構造を理解する必要があります。

スプレッドシートのオブジェクトの階層構造は以下のようになっています。

  1. スプレッドシートファイル(spreadsheet)
  2. シート(sheet)
  3. セル範囲(range)・セル(cell)
  4. バリュー・値(value)

下位階層(バリュー・値など)を操作しようと思ったら、必ず上位階層のオブジェクトを生成・指定したからでないと操作できませんので、注意が必要です。

スプレッドシートファイルの取得・読み込み

スプレッドシートファイルの取得・読み込みの方法は大きく以下2種類の方法があります。

1つずつ、「var spreadsheet」という変数に格納しながら解説していきます。

getActiveSpreadsheetで現在のスプレッドシートを取得

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

これだけで、GASに紐付いているスプレッドシートファイルのオブジェクトが「spreadsheet」に格納されます。

openByIdでスプレッドシートのIDを指定して取得

var spreadsheet = SpreadsheetApp.openById('<キー>');

指定したキーのスプレッドシートファイルオブジェクトが「spreadsheet」に格納されます。

ちなみにキーは、URL(https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxx/edit)のxxxxxxxxxxxxxxxxの部分をコピペすればOKです。この値は1つのスプレッドシートファイル共通の値となります。

シートの取得・読み込み

シートの取得・読み込みの方法は大きく以下3種類の方法があります。

「spreadsheet」オブジェクトのスプレッドシートファイルを対象に、「var spreadsheet」という変数にシートオブジェクトを格納する方法を1つずつ解説していきます。

getActiveSheetで現在のシートを取得

var sheet = spreadsheet.getActiveSheet();

現在開いているシートのシートオブジェクトが「sheet」に格納されます。

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

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

指定したシート名のシートオブジェクトが「sheet」に格納されます。同じスプレッドシート内には同じシート名を作成できませんので、シート名が重複する心配はありません。

getSheets[n]でn番目のシートを取得

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

変数nで指定した番号のシートオブジェクトが「sheet」に格納されます。

シート番号は左から、「0, 1, 2...」となっています。0から「始まっていることにだけ注意しましょう。

getSheetByIdメソッドは存在しない

ちなみにですが、「spreadsheet」オブジェクトにgetSheetByIdというメソッドは存在しません

「spreadsheet」オブジェクトはIDで指定できるので、「sheet」オブジェクトもできそうなものですが、実際にコードを記述して実行してみても動かず、リファレンスにも同じような挙動をするメソッドは見当たりませんでした。

というわけで、「sheet」オブジェクトを生成するときには、ID指定以外の方法でシートを読み込むようにしましょう。

まとめ

今回は「GASにおけるスプレッドシートのオブジェクト構造」「スプレッドシートファイルの取得・読み込み方法」「シートの取得・読み込み方法」について解説しました。

スプレッドシートやシートのオブジェクトを生成するところからGAS×スプレッドシートのプログラムはスタートします。

今回紹介したコードはそのままコピペして使えるので、サクッとパクってコーディングにかかる時間を短縮していただけたら幸いです。

GASに関する記事はこれからもアップしていきますので、ぜひ参考にしてください。

では、また。

あわせて読みたい
【GAS入門】Google Apps Scriptでできることを徹底解説!【初心者向け】 「業務効率化のため」「プログラミング入門の勉強として」など理由はさまざまですが、近年Google Apps Script(GAS)を勉強する人が増えてきています。 しかしphpやHTML...

あわせて読みたい
GASの勉強におすすめの入門本ランキング18選!【学習方法も解説】 「GAS(Google Apps Script)を勉強したいけど勉強方法がわからない、体系的にまとまっている学習書や良書を知りたい」と困っていませんか? 「プログラミングは体系的...

この記事を書いた人

28歳♂Webアナリスト/おすすめ本と生活改善グッズ紹介サイトmonoblog.jp他4サイト運営15万PVほど/楽天経済圏/リベ大生/サウナ/筋トレ/お仕事の依頼はこちら

目次