【问题标题】:Google Apps Script: Apply formatting rule to a spesific sheetGoogle Apps 脚本:将格式规则应用于特定工作表
【发布时间】:2021-02-22 11:39:26
【问题描述】:

根据文件:https://developers.google.com/apps-script/reference/spreadsheet/conditional-format-rule-builder

var sheet = SpreadsheetApp.getActiveSheet();

但我只希望它出现在名为 Resultat 的特殊工作表中。

 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("resultat");

但是有了这个 sheetByName,我得到了:

TypeError: ThisSheet.newConditionalFormatRule is not a function

调用代码:

 var ThisSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("resultat");
var range = ThisSheet.getRange("C:D") // only want it to select C element.
 ThisSheet.clearConditionalFormatRules();
  var rule1 = ThisSheet.newConditionalFormatRule()
      .whenTextContains("NO")
      .setBackground("#b3cfb0")
      .setRanges([range])
      .build();    
  var rules = ThisSheet.getConditionalFormatRules();
  rules.push(rule1);
  ThisSheet.setConditionalFormatRules(rules);
  

【问题讨论】:

  • 是错字吗?你想要sheet 而不是ThisSheet 吗? ThisSheet 定义在哪里?
  • 你的权利@marios
  • @maria jsfiddle.net/q8fcsL05(无关)

标签: google-apps-script google-sheets conditional-formatting


【解决方案1】:

修改点:

  • 从您的脚本中,我无法理解ThisSheet。如果ThisSheetvar sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("resultat");sheet,则newConditionalFormatRule() 是类SpreadsheetApp 的方法。这样,就会发生错误。

ThisSheetvar sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("resultat");sheet时,下面的修改怎么样?

修改脚本:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("resultat");
var range = sheet.getRange("C:D") // only want it to select C element.
sheet.clearConditionalFormatRules();
var rule1 = SpreadsheetApp.newConditionalFormatRule()
  .whenTextContains("NO")
  .setBackground("#b3cfb0")
  .setRanges([range])
  .build();
var rules = sheet.getConditionalFormatRules();
rules.push(rule1);
sheet.setConditionalFormatRules(rules);
  • 通过上述修改脚本,条件格式规则设置为“C:D”范围。
  • 如果要将条件格式规则设置为“C”列,请将var range = sheet.getRange("C:D")修改为var range = sheet.getRange("C:C")

参考:

【讨论】:

  • thissheet 是真正的 sheet var,正如你所提到的。
  • @maria 感谢您的回复。很高兴您的问题得到解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 2021-12-14
相关资源
最近更新 更多