11

VBA マクロを記述するとき、マクロを 1 行ずつデバッグするために「F8」をよく使用しました。Google Apps Script に同様の機能はありますか?

4

1 に答える 1

20

似ていますが、同じではありません。

Google Apps Script は、スクリプト エディタと呼ばれる専用の IDE 1で開発されており、特にシングル ステップ実行とブレークポイントをサポートしています。 スクリーンショット - スクリプト エディタ

IDE を使用したデバッグの概要については、このビデオを参照してください。オンライン ドキュメントのトラブルシューティングセクションには、基本事項の簡単な概要が含まれています。

パラメーターを使用した関数のデバッグ

IDE では、実行するスクリプト内の任意の関数を選択し、[実行] または [デバッグ] アイコンを選択して開始できます。残念ながら、この方法で関数にパラメーターを渡す方法はありません。そのため、これに対処できるいくつかの方法を次に示します。

  1. デフォルトを設定します。JavaScript でデフォルトを定義する方法は数多くあります。これは、最も単純な方法を使用して関数を操作しているデバッガーの図です。この回答の関数toText()は数値をパラメーターとして受け入れるため、この例ではデフォルト値を. この図は、デバッガーが 40 行目で一時停止していることを示しています。関数をステップ実行し続けると、最終的に結果が得られると予想されます。21s == 'Twenty-one'

    スクリーンショット - またはデフォルトの場合

  2. テスト関数を書きます。これは、複数のテスト ケースを記述でき、ターゲット関数がデバッグ コードで汚染されるのを回避できるため、デフォルトを設定するよりも優れた方法です。例として、ターゲット関数flipFlopAndFly()とそのテスト関数がこの回答test_flipFlopAndFly()で提供されました。テスト関数はスプレッドシートにアクセスして、ターゲットをテストするための適切なデータを提供するため、さまざまなテストのデータを簡単に変更できます。また、この関数にはエラー チェックが含まれているため、デフォルト値を強制してテストするのは適切ではないことに注意してください。

これらの基本的なパターンには多くのバリエーションがあるので、自分の状況に合わせて自由に調整してください。コードをステップ実行する方法について書いているときに、デバッグ機能を検討するのに役立ちます。

  • 重要なオブジェクトと値はそれぞれ に保存されているvarので、それがわかりますか?
  • 関数の結果 (戻り値) はvarですか?

カスタム関数

スプレッドシートから呼び出されるカスタム関数を開発またはデバッグするときは、IDE に「ジャンプ」できないことに注意してください。スクリプトをステップ実行する必要がある場合は、コードの実行を観察するために完全に IDE 内で作業する必要があります。上記の手法を使用して、カスタム関数をデバッグできます。


1 統合開発環境

于 2013-06-24T02:03:13.960 に答える