ライブラリの作り方,使い方
Google Apps Scriptで,他のプログラムから参照して共用できるライブラリを作ってみる.
ライブラリの中に記載するのは以下の4種類.
- 変数
- 関数
- オブジェクト
- 既存オブジェクトに追加したメソッド
ライブラリ用ファイルを作る
以下の内容でファイルを作る.ファイル名はlibraryとしよう.
var sam='aaa'; //変数
function func01(){ //関数
return 'func01';
}
function Foo(){ //オブジェクト
}
Foo.prototype.bar=function(){
return 'bar';
}
Date.prototype.getNthDate=function(n){ //既存オブジェクトに追加したメソッド
return new Date(this.valueOf()+n*1000*60*60*24); //指定日のn日前後の日付を返す
}
バージョンを保存
ファイルを保存しただけでは,他のファイルから参照できない.以下の手順でバージョンを保存する.
- ライブラリ用ファイルを開く
- メニューバーのメニュー「ファイル」から「版を管理…」を選ぶ
- 「版を管理」ダイアログが現れるので,テキストボックスにコメントを入力(任意)して,「新しいバージョンを保存」ボタンを押す
スクリプトIDの確認
他ファイルから参照するためには,参照するファイル(今回はlibrary)の「スクリプトID」が必要となる.以下の手順で確認する.
- ライブラリ用ファイルを開く
- メニューバーのメニュー「ファイル」から「プロジェクトのプロパティ」を選ぶ
- 「プロジェクトのプロパティ」ダイアログが現れるので,「スクリプトID」をどこかに控える.
ライブラリを使用するファイルを作成
上記で作成したライブラリを使用するファイルを作成する.ファイル名は「テスト」としよう.
- Google Apps Scriptの新規ファイル(ファイル名:テスト)を作る.
- メニューバーのメニュー「リソース」から「ライブラリ」を選ぶ.
- ライブラリを追加にライブラリファイルのスクリプトID(上記「スクリプトIDの確認」で控えた文字列)をコピー&ペースト
- 「追加」ボタンを押す.
- 一覧にlibraryが追加されるので,プルダウンメニュー「バージョン」から最新のものを選ぶ.ちなみに,一覧の中にある「識別子」を具体的なスクリプトの中で使うので,覚えておこう.何もしなければ,ファイル名と同じ文字列が入っているはず
- 「保存」ボタンを押す
スクリプトの内容を記載
具体的にスクリプトを書いてみる.
function myFunction() {
Logger.log(library.sam); //ライブラリの中の変数
Logger.log(library.func01()); //ライブラリの中の関数
var foo=new library.Foo(); //ライブラリの中のクラス
Logger.log(foo.bar());
var date=new Date('2018/7/1 10:00');
Logger.log(date.getNthDate(1)); //ライブラリの中で追加した既存クラスのメソッド
}
実行結果
[18-07-14 19:21:29:312 PDT] aaa
[18-07-14 19:21:29:312 PDT] func01
[18-07-14 19:21:29:313 PDT] bar
[18-07-14 19:21:29:313 PDT] Mon Jul 02 10:00:00 GMT+09:00 2018
ライブラリの中の変数・オブジェクト・クラスを使うには,ライブラリの識別子を記述する(識別子は前述したライブラリ追加時に確認・変更可能).
- ライブラリの中の変数:識別子名.変数名(
library.sam
) - ライブラリの中の関数:識別子名.関数名(
library.func01
) - ライブラリの中のクラス:識別子名.クラス名(
library.Foo
)
ライブラリの中で既存クラス(Date)にメソッド(getNthDate)を追加している.このメソッドは特に識別子の記術なしで使用できる.
ライブラリ変更時
ライブラリの中を変更した際には,以下の手順での反映が必要である.
ライブラリ側(新しいバージョンの作成)
- ライブラリ用ファイルを開く
- メニューバーのメニュー「ファイル」から「版を管理…」を選ぶ
- 「版を管理」ダイアログが現れるので,テキストボックスにコメントを入力(任意)して,「新しいバージョンを保存」ボタンを押す
ライブラリを読込む側(読込むバージョンの変更)
- メニューバーのメニュー「リソース」から「ライブラリ」を選ぶ.
- 一覧のプルダウンメニュー「バージョン」を最新のものに変える.
- 「保存」ボタンを押す
なお,「ディベロッパーモード」を「有効」にしておくと,バージョンの作成を行う前のライブラリを読込むことができる.