29

Google スプレッドシートのセルに値を設定しようとしています:

    function exampleFunction() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheets()[0];
      var range1 = sheet.getRange("A1");
      var value1 = range1.getValue();
      value1+=1;
      range1.setValue(2);
      return value1;
    }

この関数でセルに影響を与えようとすると、次のエラーが表示されます。

setValue に必要な権限がありません。(10行目、ファイル「ddd」)

どうすればそれが可能になるか知っていますか?実際には、影響を受けるセルがセル A1 の値を取得し、A1 の値を 1 増やします。

4

4 に答える 4

41

ドキュメントから:

カスタム関数は値を返しますが、セルの外に値を設定することはできません。ほとんどの場合、セル A1 のカスタム関数はセル A5 を変更できません。ただし、カスタム関数が double 配列を返す場合、結果は関数を含むセルをオーバーフローし、カスタム関数を含むセルの下および右のセルを埋めます。return [[1,2],[3,4]]; を含むカスタム関数でこれをテストできます。

参照 :スプレッドシートのカスタム関数

于 2013-04-10T20:58:51.003 に答える