当前位置:  开发笔记 > 编程语言 > 正文

使用SpreadsheetApp脚本重置范围颜色

如何解决《使用SpreadsheetApp脚本重置范围颜色》经验,为你挑选了1个好方法。

我已经制作了这张公开表,用交替的行解释我的问题 https://docs.google.com/spreadsheets/d/18PoyJLOgyPaQXl2PGtAzlTcY3c53UDzzGLFjWYQfVlU/edit#gid=0

奇怪的是,我现在可以使用setBackground(null)重置单元格,但不能使用条件公式预格式化强制填充任何单元格!我用这个公式

=MOD(ROW(),2)=0

以下是我的代码示例,用于在满足条件的情况下强制将有条件预格式化的单元格变为红色.如果没有,我想清除强制颜色,就像我手动点击单元格一样,转到

填充颜​​色>>重置

我试过setBackground('None')但它没用.使用clearFormat()的问题在于它删除了我在所有工作表上执行的条件格式规则

=MOD(ROW(),2)=0

灰色.本质上,我需要翻译我只是手动重置填充颜色,而不是删除格式,这反过来也删除了对齐.如果此方法不存在,那么如何创建具有样式颜色的格式规则来交替行,就像最初的情况一样.您可以在注释行中找到我已尝试过的内容.

function onEdit(e)
{
  var range = e.range;

  var sheet = SpreadsheetApp.getActiveSheet();
  var sName = sheet.getSheetName();
  var row   = range.getRow();
  var col   = range.getColumn();

  if(sName == 'AABO')
  {
    var rowValues = sheet.getRange(row + ':' + row).getValues();

    if( (rowValues[0][TASK_TYPE_COL_NUM - 1] == 'Configuration') && (rowValues[0][TOT_RW_COL_NUM - 1] > 2)
     || (rowValues[0][TASK_TYPE_COL_NUM - 1] == 'Integration')   && (rowValues[0][TOT_RW_COL_NUM - 1] > 3) )
    {
      sheet.getRange(row, TOT_RW_COL_NUM).setBackground('red');
    }
    else
    {
      sheet.getRange(row, TOT_RW_COL_NUM).setBackground('None');
//      sheet.getRange(row, TOT_RW_COL_NUM).clearFormat().setHorizontalAlignment("center").setVerticalAlignment("middle").setFormula("=MOD(ROW(),2)=0"); 
    }
  }

  SpreadsheetApp.flush();
}

Android Enth.. 7

我注意到,你放在价值setBackground()'None'这是不正确.您可以使用CSS颜色等设定的所有单元格的背景颜色范围'#ffffff''white'.如果要重置范围颜色,可以使用null.

range.setBackground(null);

以下是null用于重置背景颜色的案例: 如何根据Google文档电子表格中的当前日期设置行的背景颜色?



1> Android Enth..:

我注意到,你放在价值setBackground()'None'这是不正确.您可以使用CSS颜色等设定的所有单元格的背景颜色范围'#ffffff''white'.如果要重置范围颜色,可以使用null.

range.setBackground(null);

以下是null用于重置背景颜色的案例: 如何根据Google文档电子表格中的当前日期设置行的背景颜色?

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有