SpreadsheetApp getActiveRange()。setBorder不连续

时间:2013-07-11 20:29:07

标签: google-apps-script

我在Google文档电子表格中有一个奇怪的格式化单元格。

我正在使用以下代码在for循环中递增i:

var spreadsheet = SpreadsheetApp.getActive();

var curRange = Utilities.formatString("A%d:H%d",i,i);
spreadsheet.getSheetByName("Current").setActiveSelection(curRange);

这将选择设置为我想要的行,列A-H。

当我将格式应用于选择时:

var fontStyle = defaults.getRange("B" + s).getFontStyle();
spreadsheet.getActiveRange().setFontStyle(fontStyle);
var fontWeight = defaults.getRange("B" + s).getFontWeight();
spreadsheet.getActiveRange().setFontWeight(fontWeight);
var bg = defaults.getRange("B" + s).getBackground();
spreadsheet.getActiveRange().setBackground(bg);

它们按预期应用于所需范围。

但是,当我使用相同的选项设置顶部边框线时,它会出现在单元格B-D和G-K中(跳过A和E-F)。两者都影响8列,但边框不连续。

以下是应用边框的代码:

spreadsheet.getActiveRange().setBorder(true, false, false, false, false, false);

任何想法发生了什么?

1 个答案:

答案 0 :(得分:0)

有一个(已经)old issue(23)涉及setBorder这使得它成为一种不可靠的方法......我在类似的用例中遇到了一些问题。