Google App Script中getBorderlines函数的替代方案及报错解决
解决Google App Script中
getBorderlines不存在的错误 你遇到的错误是因为Google Apps Script的Range对象并没有getBorderlines()这个方法,正确的替代方法是**getBorder()**。这个方法会返回一个包含单元格四个方向(上、下、左、右)边框设置的Border对象,你可以通过它来检查每个方向的边框是否为实线。
修改后的完整代码
function countSolidBorderedCells() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getDataRange(); var values = range.getValues(); var count = 0; var solidStyle = SpreadsheetApp.BorderStyle.SOLID; for (var i = 0; i < values.length; i++) { for (var j = 0; j < values[i].length; j++) { var cell = sheet.getRange(i + 1, j + 1); var border = cell.getBorder(); // 检查四个方向是否有任意一个是实线边框 if (border.getTop().getStyle() === solidStyle || border.getBottom().getStyle() === solidStyle || border.getLeft().getStyle() === solidStyle || border.getRight().getStyle() === solidStyle) { count++; } } } sheet.getRange("D22").setValue(count); }
关键修改说明
- 用
cell.getBorder()替代了不存在的cell.getBorderlines() - 通过
border.getTop()/getBottom()/getLeft()/getRight()获取对应方向的边框设置 - 调用
getStyle()获取边框样式,和SpreadsheetApp.BorderStyle.SOLID对比判断是否为实线 - 只要单元格任意一个方向的边框是实线,就将计数加1
内容的提问来源于stack exchange,提问作者Takeshi Patterson
相关产品推荐
相关产品推荐

