65734


newConditionalFormatRule()を実行したいのですが「is not function」エラーでできません。

<https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-
app#newconditionalformatrule>  
記載のサンプルコードを丸ごとコピーし

[code]

    function myfunction(){
      // Adds a conditional format rule to a sheet that causes all cells in range A1:B3 to turn red
      // if they contain a number between 1 and 10.
      var sheet = SpreadsheetApp.getActive().getActiveSheet();
      var range = sheet.getRange('A1:B3');
      var rule = SpreadsheetApp.newConditionalFormatRule()
          .whenNumberBetween(1, 10)
          .setBackgroundColor("#FF0000")
          .setRanges([range])
          .build()
      var rules = sheet.getConditionalFormatRules();
      rules.push(rule);
      sheet.setConditionalFormatRules(rules); 
    }
[/code]

のように関数に入れて実行しようとしたのですが

> TypeError:
> SpreadsheetApp.newConditionalFormatRule(...).whenNumberBetween(...).setBackgroundColor
> is not a function（行 8、ファイル「Condition」）

と表示され実行できませんでした。

GASでのis not functionエラーを調べ、  
<https://qiita.com/UtaMori/items/ce83672cecca20964899>  
からruntimeVersionがV8になっていないことが原因だと考えられたので  
「表示」タブの「マニフェストファイルを表示」を選択し「appscript.json」ファイルを表示しました。

しかしappscript.jsonは

[code]

    {
      "timeZone": "Asia/Tokyo",
      "dependencies": {
      },
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8"
    }
    
[/code]

となっており、`"runtimeVersion": "V8"`なのでこれが原因ではなさそうだとわかりました。

どうすればよいでしょうか。


CC BY-SA 4.0
2020-04-18T04:54:30.970
65730
2020-04-18T05:39:20.563
2020-04-18T05:07:12.327
32986
39693
question
javascript
newConditionalFormatRule()が「is not function」エラー


そのサンプルは情報が古いようです。今はsetBackgroundColorというメソッドは存在せず、代わりにsetBackgroundを使う必要があります。

  * 参考: <https://developers.google.com/apps-script/reference/spreadsheet/conditional-format-rule-builder#setBackground(String)>


CC BY-SA 4.0
2020-04-18T05:39:20.563
65734
2020-04-18T05:39:20.563
30079
65730
answer