Googleスプレッドシートで一部のGoogle Apps Scriptがいつの間にか動作しなくなった

SaaS
GASの画面

まとめ

Googleスプレッドシートのとあるファイルにて、そこに仕掛けていたGoogle Apps Script の一部のスクリプトがいつの間にか動作しなくなっていた。原因は、同じ名前の関数を複数作ってしまっていたことだった。これらを1つにまとめたところ、仕掛けていたすべてのスクリプトが動くようになった。

困ったこと

Googleスプレッドシートのとあるファイルにて、そこに仕掛けていたGoogle Apps Script (GAS) の一部のスクリプトがいつの間にか動作しなくなっていた。それは、そのファイルを開いたときにスタートアップ的に動作する onOpen() 関数として設けていたスクリプトである。そのGoogleスプレッドシートを開いたときに毎回動作させたい内容を、その関数の中に記述している。しかし、いつの間にかこれがスタートアップしなくなり、また単独でそのコードを[実行]させても動作しなくなってしまっている。

原因

onOpen() 名の関数を複数作ってしまっていたことだった・・・。
色々なスクリプトをスタートアップ動作させたいがために、複数のgsファイルに渡り、複数作ってしまっていた。一つ覚えたことを短絡的に繰り返していた・・・(;・∀・)
これだと、その中の1つの onOpen() 関数しか実行されていなかった。
関数名は一意でないといけない。

やったこと

複数あった onOpen() 関数を1つにまとめた。
具体的には、それぞれの onOpen() の名前を別の名前(例えば A(), B() など)に変えて、その代わりに新たに onOpen() 関数を設けてその中で A(), B() といった関数を呼び出すようにした。

GASの画面

これにより、仕掛けていたすべてのスクリプトが再びちゃんと動くようになった。

タイトルとURLをコピーしました