强制仅复制和粘贴文本G-Sheet

时间:2019-01-10 11:31:24

标签: google-apps-script google-sheets

我在Google表格中创建了一个使用条件格式的文档。该文档与其他人共享,并且每次他们从一个单元格复制并粘贴到另一个单元格时,他们还将复制原始单元格的条件格式。是否可以只为该文档复制和粘贴文本,而无需设置格式? 我找到了每晚重新运行条件格式的脚本的解决方案。其他解决方案可以避免这种情况?谢谢

1 个答案:

答案 0 :(得分:0)

我不知道这是否是可行的解决方案,但我为控制整个工作表的工作表创建了条件格式规则。对于第1列,我创建了一些规​​则来控制基于数字值的背景色。对于工作表的其余部分,我将条件格式的背景色设置为“ #ffffff”,这是我的默认颜色。因此,当您从第1列复制到任何其他列时,将背景颜色设置为“ #ffffff”的条件格式规则将控制粘贴。

function customFormulaRule1() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rules=[];
  var range=sheet.getRange(1,2,sheet.getMaxRows(),sheet.getMaxColumns());
  var rule=SpreadsheetApp.newConditionalFormatRule()
  .whenNumberBetween(1,10)
  .setBackground('#ffffff')
  .setRanges([range])
  .build();
  rules.push(rule);
  range = sheet.getRange("A1:A10");
  var rA=[{n:1,bg:"#b7e1cd"},{n:2,bg:"#fce8b2"},{n:3,bg:"#f4c7c3"}];
  for(var i=0;i<rA.length;i++){
    var rule = SpreadsheetApp.newConditionalFormatRule()
    .whenNumberEqualTo(rA[i].n)
    .setBackground(rA[i].bg)
    .setRanges([range])
    .build();
    rules.push(rule);
  }
  sheet.setConditionalFormatRules(rules);
}

在下图中,我显示了将六个单元格从A列复制到B列时发生的情况。

enter image description here