onEdit(e)の罠(GAS)

以前作ったGASに、あるスプレッドシートのある列の値を変更すると、別のスプレッドシートのある値も連動して変更する処理を追加するように依頼された。 シンプルトリガのonEdit(e)を使ってコードを書いていたのだけど、上手く行かない。 イベントは取れるんだけど、対象のスプレッドシートが取れないみたい。 てか、ここまで突き止めるのに、何時間もかかってしまった。 ネットをググると

シンプルトリガーのonEdit(e)メソッド内で他のスプレッドシートの値を参照しようとしたのですが、どうやらシンプルトリガーで実行されるメソッドでは他のスプレッドシートを参照することはできないようです。

というページが見つかった。 原因はどうやらこいつのせいらしい。 自分で、イベントトリガを追加してやってみると、すんなり動いた。
GASもいいんだけど、サーバーサイドで動いているからデバッグがしずらい。 てか、正しいデバッグの仕方を知らないだけかもしれないんだけど...。 VBAは、どこでもブレーク張って、変数の値もすぐ見られるから、大分ラクチンではある。 文法的には、どうかと思うけどね。
--
はれ

No comments: