Google Apps Script中Double边框异常变为单边框的修复方法咨询
问题
此前脚本能够正常设置Double边框,但约3天前开始自动变为细单边框(如同指定了“SOLID”而非“DOUBLE”)。其他边框样式(如SOLID)均可正常设置,相关代码如下:
function Newboards() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var range = sheet.getActiveRange(); var startRow = range.getRow(); var endRow = range.getLastRow(); var lastColumn = range.getLastColumn(); var data = range.getValues(); for (var i = 1; i < data.length; i++) { var valueInColumnE = data[i][6]; var valueInColumnEPrevious = data[i-1][6]; if (valueInColumnE !== valueInColumnEPrevious) { var rowIndex = startRow + i; var rowRange = sheet.getRange(rowIndex, 7, 1, lastColumn - 6); // PROBLEM HERE rowRange.setBorder(true, null, null, null, null, null, "blaсk", SpreadsheetApp.BorderStyle.DOUBLE); } } var lastRowRange = sheet.getRange(endRow, 1, 1, lastColumn); lastRowRange.setBorder(null, null, true, null, null, null, "black", SpreadsheetApp.BorderStyle.SOLID_THICK); }
修复方案
问题根源
代码中设置Double边框的行里,颜色参数写的是**"blaсk"**——第三个字符是西里尔字母с(不是英文的c),无效的颜色值触发了Google Sheets边框样式的异常降级,导致Double边框被强制替换为默认细单边框。其他边框设置正常是因为使用了正确的英文"black"。
修复代码
将问题行的颜色参数替换为正确的英文拼写:
rowRange.setBorder(true, null, null, null, null, null, "black", SpreadsheetApp.BorderStyle.DOUBLE);
验证提示
替换后重新运行脚本,Double边框即可正常显示。这类错误通常是输入时不小心切换输入法导致的字符编码问题。
内容的提问来源于stack exchange,提问作者Lux Fero
相关产品推荐
相关产品推荐

