質問: googleスプレッドシートの起動時(スプレッドシートを開いたタイミング)に スクリプトエディタで作成したgasを走らせたいのですが 次のようないずれの方法を試しても、起動時動作してくれません。 スクリプトエディタ上では、コード.gs(ディフォルト)スクリプトファイル内に 次のようにコードを書いた上で 個別に実行をすると動作するところまでは確認できています。 ``` function test(){ Browser.msgBox("Hello!"); } ``` 1. スクリプトエディタのメインメニューから 「編集」>「現在のプロジェクトのトリガー」をクリック。 「新しいトリガーを追加」をクリックして、次の内容でトリガーを設定 「test」>「スプレッドシートから」>「起動時」 スクリプトエディタおよびスプレッドシートを閉じて スプレッドシートを再度開き直した際に メッセージボックスで「Hello!」と表示されるはずなのですが表示されず。 2. 仕方ないので上記のトリガー設定を削除して 「test」関数自体を次のように「onOpen」に書き直し ``` function onOpen(){ Browser.msgBox("Hello!"); } ``` この状態でスクリプトエディタおよびスプレッドシートを閉じて スプレッドシートを再度開き直した際に メッセージボックスで「Hello!」と表示されるはずなのですが これでもメッセージは表示されませんでした。 どちらも正規の手順通り操作をしているつもりなのですが どこかに間違いがあったりするのでしょうか? (ちなみにアカウント環境は、有料でのGスイートユーザーです) 以上、この現象に心当たりのある方、ご教示お願いします。
回答: 提示のコードを私の環境で試してみたところ、1. 2. 両方とも動作しました。 特には問題なさそうに感じます。 どこに問題があるかチェックするために * `Logger.log("hello!");` で function 自体が起動しているか確認 * `try { Browser.msgBox("hello!"); } catch(e) { Logger.log(e);}` で例外が起きてないか確認 * スプレッドシート自体を再作成してみる といった方法で確認してみるのはいかがでしょうか。