我正在 Google Sheet 上编写 Google Apps 脚本。我想在一个范围内设置边框。
这是我通过 Google Sheet 中的宏功能记录的简单代码。
/** @OnlyCurrentDoc */
function _1() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1:F10').activate();
spreadsheet.getActiveRangeList().setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);
};
当我运行它时,它会显示以下错误:
错误:参数(布尔值、布尔值、布尔值、布尔值、布尔值、布尔值、字符串、数字)与 SpreadsheetApp.RangeList.setBorder 的方法签名不匹配。
我觉得应该是对的。我不知道为什么它不起作用。
错误仍然存在,因为
setBorder()
方法需要一个字符串作为颜色参数,并且边框样式应该是 SpreadsheetApp.BorderStyle
类型的对象。但是,您仍然遇到问题,因为正确的方法适用于 Range 而不是 RangeList。
您应该使用返回单个 Range 对象的
getActiveRangeList()
,而不是使用在处理多个范围时使用的 getRange()
。 Range 对象支持具有适当参数的 setBorder()
方法。
function _1() {
var spreadsheet = SpreadsheetApp.getActive();
var range = spreadsheet.getRange('A1:F10');
range.setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);
};
通过使用
getRange()
而不是 getActiveRangeList()
,您正在使用单个范围,该范围与 setBorder()
的方法签名匹配。这应该可以解决该错误。