我正在合并 D&D 模板的不同版本,并注意到将工作表从“其中某个”复制到现有/新电子表格会导致命名范围名称包含工作表名称,但以某种幽灵形式(例如:如果尝试编辑命名范围,名称将正常显示)。任何线索导致此问题,如何解决它,或如何解决它? 虽然我通过连续删除和重新创建来手动修复它们,但该版本的模板将来可能会更新,我将不得不考虑重复此过程。
function renameNRS() {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let nrs = ss.getNamedRanges();
for (let i = 0; i < nrs.length; i++) {
let nr = nrs[i];
Logger.log(nr.getName());
const range = nr.getRange();
const oldName = nr.getName();
const newName = oldName.replace(/'.*'!/,'');
nr.remove();
ss.setNamedRange(newName, range);
Logger.log(newName);
}
}