GAS PR

[GAS]スプレッドシートファイルの新規作成、取得の方法 -SpreadSheetAppクラス-

記事内に商品プロモーションを含む場合があります

Google Apps Script (GAS) でスプレッドシートファイルを新規作成する方法や、既存のスプレッドシートファイルを取得する方法を説明します。

SpreadSheetAppクラスのメソッドを利用した手順について説明します。

Google Apps Scriptの基本的な使い方については下記をご覧ください。

GASによるスプレッドシート操作の概要

GASでスプレッドシートを操作するための「SpreadSheetサービス」は、主に下記のクラスで構成されています。

クラス説明
SpreadSheetAppSpreadSheetサービスの親クラス
Spreadsheetスプレッドシートを操作するクラス
Sheetシートを操作するクラス
Rangeセル範囲を操作するクラス

それぞれ下記のような位置付けになります。

「SpreadSheetApp」→「SpreadSheet」→「Sheet」→「Range」という順の階層構造になっています。操作対象に応じて、下の階層にたどってオブジェクトを取得して利用します。

このページでは、上記の中のSpreadSheetAppクラスの下記のメソッドについて説明します。

メソッド戻り値説明
create(name)Spreadsheet指定した名前でスプレッドシートを新規作成する
getActiveSpreadSheet()Spreadsheetアクティブなスプレッドシートを取得する
openById(id)Spreadsheet指定したIDのスプレッドシートを取得する
openByUrl(url)Spreadsheet指定したURLのスプレッドシートを取得する
open(file)Spreadsheet指定されたFileオブジェクトのスプレッドシートを取得する

スプレッドシートファイルの新規作成

スプレッドシートファイルの新規作成:create(name)

新たなスプレッドシートファイルを作成する方法です。

下記のように実行します。戻り値としてSpreadsheetクラスを取得できます。

下記のようにGoogleドライブのルートにファイルが作成されます。

既存のスプレッドシートファイルの取得

アクティブなスプレッドシートファイルの取得:getActiveSpeadSheet()

アクティブなスプレッドシートを取得する方法です。この方法は、コンテナバインドスクリプトである必要があります。

スプレッドシートのコンテナバインドスクリプトで下記のように実行します。

下記の実行結果になります。正常にファイル名が出力されます。
「無題のスプレッドシート」というファイルのコンテナバインドスクリプトの場合の例です。

スクリプト実行時に下記の画面が表示された場合は、権限の承認が必要です。
「権限を確認」をクリックします。

下記の画面が表示されたら、承認するアカウントを指定します。

下記の画面が表示されたら、「詳細」をクリックします。

下記の画面が表示されたら、左下のプロジェクト名の部分をクリックします。

スプレッドシート側へ下記が表示されたら、「許可」をクリックするとスクリプトを実行できるようになります。

なお、スタンドアロンスクリプトで同じコードを実行すると下記の実行結果になります。スプレッドシートファイルと紐づいておらず、testSpreadSheetがnullになるためです。

スプレッドシートIDから取得:openById(id)

スプレッドシートのIDをもとにスプレッドシートを取得する方法です。

スプレッドシートのIDとは、スプレッドシートのファイルを開いた時のURLの下記の太字の部分です。ファイル毎に異なるIDになります。

https://docs.google.com/spreadsheets/d/XXXXXXXX/edit#gid=0

下記のように実行します。「XXXXXXXX」の部分には、実際のIDを入れます。

下記の実行結果になります。正常にファイル名が出力されます。
「無題のスプレッドシート」というファイルの場合の例です。

スプレッドシートのURLから取得:openByUrl(url)

スプレッドシートのURLをもとにスプレッドシートを取得する方法です。

スプレッドシートのURLとは、スプレッドシートのファイルを開いた時の下記のURLです。ファイル毎に異なるURLになります。
XXXXXXXXにはファイル毎に異なるIDが入ります。

https://docs.google.com/spreadsheets/d/XXXXXXXX/edit#gid=0

下記のように実行します。「XXXXXXXX」の部分には、実際のURLを入れます。

下記の実行結果になります。正常にファイル名が出力されます。
「無題のスプレッドシート」というファイルの場合の例です。

Fileオブジェクトから取得:open(file)

Fileオブジェクトをもとにスプレッドシートを取得する方法です。

Fileオブジェクトの取得方法はいくつかありますが、ここではGoogleドライブのクラスでファイルIDから取得する場合の例でopenメソッドを説明します。

ファイルIDは、スプレッドシートの場合、スプレッドシートIDと同一です。

スプレッドシートのIDとは、スプレッドシートのファイルを開いた時のURLの下記の太字の部分です。ファイル毎に異なるIDになります。

https://docs.google.com/spreadsheets/d/XXXXXXXX/edit#gid=0

下記のように実行します。「XXXXXXXX」の部分には、実際のファイルIDを入れます。

下記の実行結果になります。正常にファイル名が出力されます。
「無題のスプレッドシート」というファイルの場合の例です。

まとめ

Google Apps Script (GAS) でスプレッドシートファイルを新規作成する方法や、既存のスプレッドシートファイルを取得する方法を説明しました。

GASは無料で利用できてとても便利なツールです。

Googleスプレッドシート等のGoogleアプリケーションを利用されている方は、GASを習得することで作業を大きく効率化できます

GASの基本構文を知りたい方は、下記もご覧ください。