Google Appsスクリプトで、セルの背景色を変更したときにスクリプトを自動的に実行するにはどうすればよいですか? セルの背景色を変更すると、スプレッドシートが自動的に保存され、最後の編集がいつ行われたかが表示されますが、onEdit 関数でこのイベントを使用してスクリプトを実行しようとすると、イベントが認識されず、何もしません。ありがとう
2 に答える
0
onEdit は、書式設定の変更ではなく、セルの値が変更されたときに発生します。ルールが既にシートにあるセル値に基づいていると仮定して、背景色を変更するルールをスクリプトに配置する必要があります。
于 2013-01-31T16:23:54.197 に答える
0
背景色の変更の自動トリガーが実際にないため、「トリック」を使用してこれを管理する必要があると思います。
単なる提案: スプレッドシートが大きすぎない場合は、以前にスクリプト プロパティに保存した文字列に色の説明全体を記憶し、タイマー トリガーに基づいて、何かが変更されたかどうかを確認することができます。
この解決策が受け入れられる場合 (即時の反応ではなく、タイマー トリガー)、試してみてください...
たとえば、この変数を使用します。
var backGroundString = SpreadsheetApp.getActiveSheet().getDataRange().getBackgrounds().toString()
それをscriptPropertiesに保存されている同じ値と比較し、異なる場合はイベントをトリガーします...
少しぎこちないことはわかっていますが、今のところ、必要なものを取得する簡単な方法は他にありません。
いくつかの条件を追加して、ある瞬間またはスプレッドシートが開いているときにのみ機能するようにすることができます...
于 2013-01-31T16:55:34.707 に答える