Google Sheets宏如何调用公式返回的单元格地址设置区域边框
修复后的可运行代码及说明
原代码核心错误点
spreadsheet.sheet调用错误:sheet是你提前定义的指向Facture工作表的独立常量,不是spreadsheet对象的属性,无需加前缀getRange('address')参数错误:address是存储动态地址的变量,加引号会被识别为固定字符串address,不会读取变量内存储的实际地址- 函数缺少闭合大括号
- 重复声明了功能完全相同的
spreadsheet和doc对象,可合并简化
修复后代码
function border() { const doc = SpreadsheetApp.getActive(); const sheet = doc.getSheetByName('Facture'); const back = doc.getSheetByName('Back'); // 读取Back表AC3单元格生成的动态地址 const address = back.getRange('AC3').getValue(); // 选中Facture表对应动态区域 sheet.getRange(address).activate(); // 批量设置边框 doc.getActiveRangeList().setBorder(null, true, true, true, null, null, '#000000', SpreadsheetApp.BorderStyle.SOLID); }
补充说明
如果后续你调整了AC3单元格的地址生成规则,只要返回的是标准的A1格式单元格/区域地址,代码不需要修改即可直接适配。
内容的提问来源于stack exchange,提问作者Laurianefr
相关产品推荐
相关产品推荐

