Google Apps Scriptのデバッグ方法

プログラミング

デバッグ機能を使えばOKです。

デバッグでは、望んだ出力結果が得られているかどうかを適宜確認し、どこのコードがエラーを生んでいるのかを探し出します。

スポンサーリンク

デバッグ機能の使い方

デバッグでは、Logger.log()、もしくはBrowser.msgBox()という関数を使います。

Logger.log()関数を使用する方法

Logger.log()関数を使用すると、値を吐き出させることができます。

Logger.log()の使い方

Logger.log()関数は、引数のデータをそのまま出力します。引数に変数を指定する事もできます。

log(format, values)という形式で、formatの中で%sというプレースホルダー(正式な値が入るまで一時的に場所を確保しておく措置のこと)を使うことができ、値は可変で渡すこともできます。

Logger.log('apple');
// 「apple」と表示されます

var fruit = 'apple';
Logger.log(fruit);
// 「apple」と表示されます 

Logger.log('I like "%s".', 'apple');
// 「I like "apple".」と表示されます

Logger.log('I like "%s" and "%s".', 'apple', 'red');
// 「I like "apple" and "red".」と表示されます

これをデバッグしたいところで使います。

 

例えば、以下のような感じです。

function green_apple() {
  var green = 'green';
  var apple = 'apple';
  fruit = green + '-' + apple;
  Logger.log(fruit);
}

 

ブレークポイントを設定する

ブレークポイントとは、強制的に実行を一旦停止する箇所のことです。

以下の画像の5行目の紫の点がブレークポイントです。

上記のコードだと5行目までが実行されます。

 

また、ブレークポイントは複数設定でき、ブレークポイントを設定した間にあるコードのみを実行させることも可能です。

 

デバッグを実行する

デバッグボタンを押します。

すると、右側にサイドバーが出現し、変数と格納された値が表示されています。

 

(別の方法)実行ログを表示して実行してみる

まずは実行ログを表示させます。『実行ログ』ボタンをクリックすれば表示できます。

そして実行すると、変数に格納した値が出力されます。

 

Browser.msgBox()関数を使用する方法

先ほどの、Logger.log()をBrowser.msgBox()に置き換えればいいだけです。

function green_apple() {
  var green = 'green';
  var apple = 'apple';
  fruit = green + '-' + apple;
  Browser.msgBox(fruit);
}

 

実行しようとすると、承認が必要だと言われるので、次の画像のように選択していきます。

 

画像では黒く塗りつぶしてますが、自分のアカウントを選択してください。

 

警告のようなものが表示されますが、気にしなくてOKです。

 

 

最後に、「許可」を押します。

これで実行できるようになりました。

そして、スプレッドシートを見てみると、値がポップアップで出力されています。

 

デバッグ目的であれば上記で十分かと思います。

ただ、選択肢付きポップアップ表示(例:「はい」と「いいえ」が選択できる)など、メッセージボックス(ポップアップ表示)については、以下の記事が参考になります。

 

(補足)Console.log()が使えなくなった

以前は、Console.log()という関数でも、ログを出力してデバッグをすることができました。

今では、Console.log()関数を使用するとエラーが出ます(関数が定義されていないと怒られてます)。

また、Google Apps Scriptの開発画面(エディター)がアップデートされてからは、Console.log()のログ出力画面を開くことができなくなったため、実質的にConsole.log()が使えなくなった模様です。