脚本:如何在编辑时将条件格式设置规则复制并重新应用到某个范围?

问题描述 投票:0回答:1

在Google表格中,当您粘贴新值时,可以更改条件格式应用于的单元格范围。我正在寻找一个脚本,该脚本将复制工作表中存在的条件格式,并在人们粘贴数据时将其重新应用于新单元格。

我实际上没有做太多的脚本编写,但是我偷了别人的脚本并将科学怪人在一起,直到它们模糊地起作用为止。到目前为止,这是我偷的东西:

function onEdit(e) {
  var range = e.range;
  var sheet = range.getSheet();
  range.clearFormat();
  //clears formatting just on data that is pasted into the sheet

  var rules = sheet.getConditionalFormatRules();
  var newRules = [];
  for(var r = 0; r < rules.length; r++) {
    var booleanCondition = rules[r].getBooleanCondition();
    if(booleanCondition != null) {
      var rule = SpreadsheetApp.newConditionalFormatRule()
      .withCriteria(booleanCondition.getCriteriaType(), booleanCondition.getCriteriaValues())
      .setBackground(booleanCondition.getBackground())
      .setRanges([sheet.getRange("A:A"),sheet.getRange("C:C")])
      .build();
      newRules.push(rule);
      sheet.setConditionalFormatRules(newRules);
    }
  }
}

当然,问题是我得到了该工作表的所有条件格式设置规则,并将它们全部应用于两列(A:A和C:C)。无论使用什么规则,都将应用这些规则。

有人可以建议一种方法来复制现有的条件格式设置规则并将其重新应用到我从中复制它们的列中吗?

google-apps-script google-sheets gs-conditional-formatting
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.