【问题标题】:Changing border colors in GAS (and *not* changing some)更改 GAS 中的边框颜色(并且*不*更改一些)
【发布时间】:2016-11-21 03:12:11
【问题描述】:

使用 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”工作并且关闭了之前的边框。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      希望对大家有所帮助!

      【讨论】:

        猜你喜欢
        • 2013-07-23
        • 2017-12-29
        • 2017-03-05
        • 1970-01-01
        • 1970-01-01
        • 2013-09-05
        • 1970-01-01
        • 2017-05-24
        • 1970-01-01
        相关资源
        最近更新 更多