libro
www.tuyano.com
初心者のためのGoogle Apps Scriptプログラミング入門

Google Apps Scriptの基本を覚える (4/7)

作成:2011-06-15 09:27
更新:2011-11-04 15:45

■Browserオブジェクトを使ってみよう!

では、alertのように、画面にちょっとしたメッセージを表示したりすることもできないのか? 実は、ちゃんとできます。alert関数は使えませんが、その代りに、Google Apps Scriptには各種の機能をもったオブジェクトがいろいろと用意されているのです。

では、myFunction関数を下のリスト欄のように書き換えてみましょう。alertの1文を書き換えるだけですね。
function myFunction() {
    Browser.msgBox("こんにちは!");
}
これで実行してみてください。「何も起こらない」って? このスクリプトエディタでは何も起こりませんよ! 開いていたGoogleドキュメントのスプレッドシートに切り替えてください。そこに、「こんにちは!」というメッセージが表示されたでしょう?

ここでは「Borwer.msgBox」というものを実行していますね。これは「Browser」というオブジェクトの「msgBox」というメソッド、という意味になります。

Browserオブジェクトは、Google Apps Scriptに用意されているオブジェクトの一つで、ブラウザ側で利用者と遣り取りをするための機能を提供します。ここで使ったmsgBoxは、引数に指定したメッセージをアラートとして表示するためのものです。これは引数が異なるものなどがいくつか用意されていますが、基本は実にシンプルです。
変数 = Browser.msgBox( メッセージ );
単純にメッセージを表示するだけなら、これだけです。よく見ると、msgBoxには返値があることがわかりますね。実行後、アラートを閉じると、その結果となる値が返されます。結果とは、要するに「どうやってアラートを閉じたか」です。

例えば、「OK」ボタンを押したらそのまま続けるが、クローズボックスをクリックしてアラートを閉じたら処理を中断したい……というようなことはよくあります。返値には、「選択したボタン」を示すテキストが保管されます。これをチェックすることで、「どうやってアラートが閉じられたのか」がわかるのです。

一例として、下のリスト欄に「キャンセルしたらログに出力」するサンプルコードをあげておきました。先のサンプルと同様、画面にメッセージを表示するだけですが、このとき、「OK」ボタンをおすのではなく、クローズボックスをクリックして閉じてみましょう。こうすると、ログに「canceled...」と出力されます。

ログは、スクリプトエディタの<表示>メニューにある<ログ...>メニューで見ることができます。スクリプトを実行し、クローズボタンでアラートを閉じた後で、ログを開いてみてください。ログに「canceled...」って表示されるでしょう?

ログの出力は「Logger」というオブジェクトにある「log」メソッドで行えます。これも、msgBoxと同様、単にメッセージを引数に渡すだけで利用できます。あわせて覚えておきましょう。
Logger.log( メッセージ );

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※メッセージを表示する
function myFunction() {
	Browser.msgBox("こんにちは!");
}



※キャンセルしたらログに出力
function myFunction() {
	var result = Browser.msgBox("こんにちは!");
	if (result == "cancel"){
		Logger.log("canceled...");
	}
}

※関連コンテンツ

「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る