2013-04-08 40 views
6

私はスクリプトを使ってGoogleスプレッドシートを管理しています。 onEdit関数は素晴らしい働きをしています - 私は、onEdit関数にGoogle Appsスクリプトのスプレッドシートのクリックイベントをどのように監視できますか?

SpreadsheetApp.getActiveRange().setBackgroundRGB(255, 0, 0); 

を入れて色を付けることができます。しかし、私がしたいのは、同じコードをonClick関数に入れて、ユーザーがセルをクリックするとすぐに赤くなるようにすることです。これは可能ですか?私はドキュメントでそれを行う方法を見つけることができません。

+0

申し訳ありませんが、個々のセルでクリックイベントはありません。ボタンを作成し、セルを選択してからボタンをクリックする必要があります。 – ScampMichael

+0

ああ、そうです。あなたはどのようにボタンをセルに追加しますか?それはスクリプトやスプレッドシートGUIを介して行われますか? – user1002973

+2

ボタンをセルに追加しません。描画オブジェクトを使用してボタンをシートに追加し、それをアクティブセルを赤にするよう指示するスクリプトにアタッチします。次に、赤色にしたいセルを選択し、スクリプトを実行するボタンをクリックします。多数のシートを有効にしたい場合にも、メニュー項目で行うことができます。 – ScampMichael

答えて

1

Googleスプレッドシート用にonClick()関数を作成する方法は今のところありません(今すぐ)。 Google Appsスクリプト機能がサーバーで処理されるため、onClick()イベントの実行によって生成される負荷の量によって、デフォルトで提供されるリクエストのすべてのクォータが使い尽くされやすくなります。

creating a button and clicking on itのドキュメントを使用する必要があります。

+1

を参照してください。同様の理由で、値を変更するとすべての数式更新する必要があります。クライアントサイドでAPIの少なくとも一部を許可し、そのAPIを使用するように制限されている関数にアタッチできるようにする方法が必要です(または、何か他のことをしようとするとエラーが発生します)。 – IttayD

+0

ハンドラを持つボタンハンドラを持つセル? –

0

をあなたは「完了」のような...オプションを使用して、細胞の検証を作成します....近づくことができます。ドロップダウンをクリックし、完了を選択します。 onChangeまたはonEditトリガーを作成します。あなたは行/列の発射のようなセル/範囲のコンテキスト化された関数を得ることができます。これは複製しやすく、プログラムは簡単です

関連する問題