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

Changing border colors in GAS (and *not* changing some)

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

格式顺序为:.setBorder( top, left, bottom, right, vertical, horizo​​ntal, color, style )

根据文档,
"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" 正在作为 "false" 并关闭前一个边框。

SpreadsheetApp.flush() 应该解决问题:

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

我只是用上面的答案改写所问的问题,因为以下脚本对 first-timers 更有意义:

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 );
  

希望这对一些人有所帮助!