2012 年 7 月 20 日 金曜日
ライブラリを利用することにより、あるGoogle Apps Scriptプロジェクトで作成した関数や変数を、他のプロジェクトから利用できるようになる。このページでは、作成したライブラリを利用する方法を紹介している。
関連:ライブラリを作成するには
あらかじめライブラリにバージョンを1つ以上作成しておく必要がある。ライブラリの作成についてはライブラリを作成するには参照。
1.ライブラリのプロジェクトキーを取得する。ライブラリをエディタで開き、「ファイル」»「プロジェクトのプロパティ」をクリック。
2.ライブラリを参照する側のスクリプトを開き、「リソース」»「ライブラリを管理」をクリック。
3.Find a Libraryに、(1)でコピーしておいたProject Keyを貼り付け、「選択」ボタンをクリックする。
ライブラリへの参照権限が無い場合は、
「スクリプトで使用されるライブラリ ***** へのアクセス権がないか、ライブラリが削除されました」
というエラーメッセージが表示される。この場合、ライブラリを追加しようとしたユーザーに参照権限が無い可能性があるので、ライブラリ側の共有設定を行う必要がある。
5.バージョンを選択する。バージョンは、ライブラリ側エディタの「ファイル」»「バージョンを管理」で作成したバージョンを選択することができる。
6.Identifierを入力する。ライブラリを利用する際の名称はここで設定する。たとえば、Identifierにlibraryと入力した場合、ライブラリに定義したメソッドhelloを呼び出すには、library.hello()と記述する。デフォルトはライブラリのプロジェクト名がセットされている。日本語を入力するとエラーになるので注意。
7.Development ModeをONとOFFいずれかを選択する。
ONとOFFの違いは以下の通り。
ON | OFF | ライブラリに 加えた変更 |
新しいバージョンとして保存しなくても、変更が反映される。 | ライブラリ側で新しいバージョンとして保存し、呼び出し元で最新バージョンを選択しなければ変更が反映されない。 | 単語補完の対象 | 選択しているバージョンに存在する関数のみ。ただし補完されなくても、最新のソースコードに存在する関数であれば呼び出し可能。 | 選択しているバージョンに存在する関数のみ。 |
---|
9.ライブラリの関数を呼び出してみる。以下のスクリプトはIdentifierを「library」にした場合。
▼ライブラリ
/**
* メッセージダイアログ用のUiを作成する。
*
* @param String message
* @return UiInstance 作成したUiインスタンス
*/
function createMessageDialog(message){
var app = UiApp.createApplication();
app.add(app.createLabel(message));
return app;
}
▼ライブラリ呼び出し元スクリプト
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.show(library.createMessageDialog('これはテスト'));
}
このエントリーのトラックバックURL:
http://www.bmoo.net/archives/2012/07/314406.html/trackback