1

そのため、他のページのコンテンツに基づいて自動更新されるスコアとともに人のリストがあります。最高値の緑の背景色を自動的に変更するスクリプトを作成しました。残念ながら、これは手動で有効にすると有効になるようです。

私の質問はこれです:関数がセルに直接ないときに自動的に更新または実行する方法はありますか?

不適切な質問の可能性があることをお詫び申し上げます - 明確にしておきましょう:

私は以下のコードを持っています

    function HighestScore(){

  var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("Total_Points");
  var data = range.getValues();
  var high = 0;
  var loc = 0;

  //set all backgrounds to white
  range.setBackgroundColor("#FFFFFF"); 

  for (var i = 0; i<7;i++){
    if (data[i] > high){
      high = data[i];
      loc = i
    }
    else{
      high = high;
    }
  }

//set the background color of the highest value green
      var lead = SpreadsheetApp.getActiveSpreadsheet().getRange("Totals!B"+(2+loc)).setBackgroundRGB(00,255,0)
    }

スクリプト ウィンドウから手動で実行すると、うまく機能します。セルから実行すると、権限エラーが発生します。ドキュメントのスコアを更新するときに、この関数が最高スコアの背景色を自動的に更新するようにする方法はありますか?

4

1 に答える 1

1

onEdit: onEdit トリガーを使用します。参照: https://developers.google.com/apps-script/understanding_triggers その後、ユーザーがスプレッドシートを変更するたびにコードが実行されます。

于 2013-03-13T23:32:10.697 に答える