それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Goole App Script ( GAS ) の基本的な操作方法。09. 起動時に実行

前回まで

前回までで、ソースの管理、クラス、デバッグを見てきた。

そろそろ十分に準備が整ってきた。

今回はスクリプトの実行タイミング

ファイルを開いたとに、スクリプトを起動する方法を見る。

ドキュメントが開いたときにスクリプト起動

ドキュメントが開いときにスクリプトを起動する onOpen

onOpen 関数を定義しておけば、ファイルを開いときに自動的に実行してくれる。

f:id:takuya_1st:20210604040942p:plain

ドキュメントを開いたとき実行は、少し遅い

onOpenの実行タイミングは、思った以上に遅いので注意する。

一見すると、ファイルが開いてるように見えてもすべての準備が整うまで実行されない。

ドキュメントのローディングバーが進む

メニューの下のローディングバーが進んで消える。

f:id:takuya_1st:20210604041213p:plain

そのあと、最終更新時刻などが取得される。

f:id:takuya_1st:20210604041345p:plain

その後に、ファイルがロードされてonOpenが実行される。(数秒は掛かる。)

f:id:takuya_1st:20210604041137p:plain

シートが複雑だと、そこそこ時間がかかるので辛抱強く待つ必要がある。

複数ファイルにまたがった場合の onOpen

opOpen関数は、どこに書いてもいい。

スクリプトを複数のファイルに分割して書いたとしても、全部ロードしてから onOpenが探される。そのためonOpenをうっかり複数書くと後からロードされたものが優先される。

onOpen 関数はシンプルイベントハンドラなので、いつでも使える。

その他の実行方法

スクリプト・エディタで実行できるのだが、ドキュメント/スプレッド・シートからスクリプトを実行されないと使いにくい。

ファイルが開いたときに実行される onOpen があり、その他にもボタン(図形オブジェクト)にイベントハンドラを貼り付けて使うことができる。

続く

長いので分割しました。

次回に続く→10