1

そのため、Googledoc スプレッドシートで、列を通過し、指定された書式設定の出現回数をカウントするスクリプトを使用しています。(つまり、私のスプレッドシート "=myFunction()")

関数は正常に動作しますが、私の問題は、スクリプト「onEdit」を実行するトリガーを設定しているにもかかわらず、実行されないことです。スプレッドシートで更新するたびに、スクリプトを開いて保存する必要があります。

私は何時間も調べていましたが、誰も私の質問を持っていないようです. 通知によって送信されるエラーはありません。私の関数のコードは(私はそれがひどく関連しているとは思いませんが)次のとおりです。

function CountIfNotStrikeThrough2()
{

  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var mysheet = ss.getActiveSheet();


  var mydatarange = mysheet.getRange(1,1,390,1);
  var numRows = mydatarange.getLastRow();
  var rowindex = mydatarange.getRowIndex();
  var columnindex = mydatarange.getColumnIndex();

  var total =0;

  for(i=rowindex;i<=numRows;i++)
  {
    if(mydatarange.offset(i-1, columnindex-1, 1, 1).isBlank() != true && mydatarange.offset(i-1, columnindex-1, 1, 1).getFontLine() != "line-through")
    {

      total++;
    }    
  }

  return total;
}
4

1 に答える 1

1

onEdit トリガーがアクティブにならない場合の包括的なリストがあるスレッドがここにあることは知っています。( here ) たとえば、データ検証を設定し、検証で値のリストから項目を選択した場合、onEdit 関数はトリガーされません。

それ以外に、インストール可能ではなく、単純なトリガーを試していただけますか? つまり、CountIfNotStrikeThrough2() を onEdit トリガーに明示的に関連付ける代わりに、代わりに関数の名前を「onEdit()」に変更してみて、それが機能するかどうかを確認してください。これにより、暗黙的または単純なトリガーが作成されます。インストール可能なトリガーと単純なトリガーで過去に問題がありました。

また、トリガーをテストするために実行している正確なアクションを共有してください。

参考: https ://developers.google.com/apps-script/understanding_triggers

于 2013-07-19T21:32:55.610 に答える