2017-01-03 7 views
1

私はスプレッドシートアプリケーションでトリガーを設定しようとしていますが、onEdit(e)イベントから実行されたとしても、関数が実行されたときにトリガーを設定する方法はわかりませんでした。インスタンスの場合、関数を実行するときにコンテンツが変更されたかどうかを確認したい。関数が実行されたときにトリガを設定できますか?

スプレッドシートのカスタム機能によって何かが変更または編集されたときに、onEdit()/onChange()の機能が起動されないことがわかりました。バックグラウンドであっても、関数を実行するときにトリガーを設定する方法はありますか?

+0

あなたのシートは、スクリプトを介してのみ変更されたコンテンツであるか、またはユーザーは編集することもできますか?スクリプトを介してのみであれば、.getDataRange()を使用してこの問題の回避策として前後を比較することができます。 – utphx

答えて

0

いいえ、appscript関数を使ってシートに何かを書き込むことはできません。appscriptでonEdit/onChangeトリガをトリガすることはできません。また、スプレッドシートにデータをコピーしてコピーしても、onEditトリガーはトリガーされません。

このような場合、@ Zaqと同様に、彼の答えでは、その関数またはトリガーのコードを基本関数自体に記述します。

また、スプレッドシートに新しいシートを作成するには、セルが1つだけで、関数が実行されるたびに「呼び出された」などの文字を書き込むことができます。また、値が '呼び出された'かどうかにかかわらず、引き続きトリガー機能(つまり1分トリガー)をチェックインします。はいの場合は、トリガーを実行して値をリセットし、それ以外の場合は何もしないでください。

+0

はい、私はこれについて厳しくなっていますが、onClick()のような機能を持っていればより専門的になるでしょう... とにかく、ありがとう(: – Rafael

+0

それがうまくいけば、 ;) –

0

いいえ、Apps Script機能の実行時に起動するトリガーはありません。

特定の機能が実行されているときに何かを実行したい場合は、その機能の本体にdoSomething()などの呼び出しを含めることで可能です。

+0

私は今それをやりました。私は何かが変更されたかどうかを確認するために私の機能を他人に吹き込みました。ありがとうございます( – Rafael

関連する問題