Javascript 是否删除所有命名范围,包括无效引用?
我已经尝试了我能找到的每一个脚本来删除无效的引用命名范围,但没有任何运气。我甚至尝试使用下面的脚本删除所有命名范围,但仍然保留无效引用。这样的解决方案是通过脚本存在的,还是我必须手动删除100个左右的命名范围Javascript 是否删除所有命名范围,包括无效引用?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我已经尝试了我能找到的每一个脚本来删除无效的引用命名范围,但没有任何运气。我甚至尝试使用下面的脚本删除所有命名范围,但仍然保留无效引用。这样的解决方案是通过脚本存在的,还是我必须手动删除100个左右的命名范围 var namedRanges=SpreadsheetApp.getActive().getNamedRanges(); 对于(变量i=0;iScript editor,则该脚本将绑定到此电子表格。你能证实吗?我想是的。我没有足够的悟性自信地回答,但是是的,如果我打开脚本编辑器,脚本就在那
var namedRanges=SpreadsheetApp.getActive().getNamedRanges();
对于(变量i=0;i
最新答案:
似乎有一个错误:
用户报告了以下问题:
你可以用星号(左上角)来增加可见性,但我认为这个问题还不够流行。我建议将数据迁移到不同的工作表中作为一种解决方法,这样您就不必手动删除指定的范围
如果调用console.log(namedRanges)
,您还可以证明该错误,您将得到一个空数组[]
,但显然您的电子表格有许多命名范围
您的解决方案对我有效,并删除了我创建的示例文件中的所有命名范围 然而,我发现一些帖子,比如和,推荐使用电子表格方法 请尝试以下代码:
function myFunction() {
const ss = SpreadsheetApp.getActive();
const namedRanges = ss.getNamedRanges();
const namesR = namedRanges.map(nr=>nr.getName());
namesR.forEach(name=>{
ss.removeNamedRange(name);
});
}
如果这不起作用,请提供有关如何执行此功能的确切详细信息。这可能与此有关。如果不是这样,那么它可能是一个bug,您可以在感谢您的回复中报告!我想区别一定是我的范围是从另一个文件复制的图纸。我只是想接近我的整个过程。@TC76从哪里运行脚本?是否确定脚本绑定到要删除NamedRange的同一个电子表格?因为
SpreadsheetApp.getActive()
获取绑定到脚本的当前电子表格。也就是说,如果在特定电子表格中单击Tools=>Script editor,则该脚本将绑定到此电子表格。你能证实吗?我想是的。我没有足够的悟性自信地回答,但是是的,如果我打开脚本编辑器,脚本就在那里。对不起。无意的错误。固定的