改变GAS中的边框颜色(和*不*改变一些)

时间:2016-11-21 03:12:12

标签: google-apps-script colors google-sheets border google-docs

使用Google Apps脚本跟进此问题:Set border color & style in spreadsheet programmatically

格式依次为:.setBorder(上,左,下,右,垂直,水平,颜色,样式)

根据文件,
“true”打开格式
“false”关闭格式
“null”保持不变

我的问题:“null”正在关闭格式!

我有一个非常简单的脚本用于测试目的:

var right = "red";  
var left = "blue";  
range.setBorder( null, null, null, true, null, null, right, null );  
range.setBorder( null, true, null, null, null, null, left, null );  

这不应该将右边框设置为红色而左边框设置为蓝色吗? 结果只是蓝色。如果我省略蓝线,则会产生红色 似乎在单个单元格中获得2+种颜色的唯一方法是使用“null”单独执行.setBorder。但是“null”正在起作为“假”并关闭前一个边界。

2 个答案:

答案 0 :(得分:0)

SpreadsheetApp.flush()应解决问题:

range.setBorder( null, null, null, true, null, null, right, null );
SpreadsheetApp.flush();
range.setBorder( null, true, null, null, null, null, left, null );  

答案 1 :(得分:0)

我只是用上面的答案改写问的问题,因为以下脚本对初学者来说更有意义:

var rightBorderOn = true;
var leftBorderOn =true;

var rightBorderColor = "red";  
var leftBorderColor = "blue";
  
range.setBorder( null, null, null, rightBorderOn, null, null, rightBorderColor, null );  
SpreadsheetApp.flush();
range.setBorder( null, leftBorderOn, null, null, null, null, leftBorderColor, null );
  

希望这对您有所帮助!