Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否删除所有命名范围,包括无效引用?_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 是否删除所有命名范围,包括无效引用?

Javascript 是否删除所有命名范围,包括无效引用?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我已经尝试了我能找到的每一个脚本来删除无效的引用命名范围,但没有任何运气。我甚至尝试使用下面的脚本删除所有命名范围,但仍然保留无效引用。这样的解决方案是通过脚本存在的,还是我必须手动删除100个左右的命名范围 var namedRanges=SpreadsheetApp.getActive().getNamedRanges(); 对于(变量i=0;iScript editor,则该脚本将绑定到此电子表格。你能证实吗?我想是的。我没有足够的悟性自信地回答,但是是的,如果我打开脚本编辑器,脚本就在那

我已经尝试了我能找到的每一个脚本来删除无效的引用命名范围,但没有任何运气。我甚至尝试使用下面的脚本删除所有命名范围,但仍然保留无效引用。这样的解决方案是通过脚本存在的,还是我必须手动删除100个左右的命名范围

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,则该脚本将绑定到此电子表格。你能证实吗?我想是的。我没有足够的悟性自信地回答,但是是的,如果我打开脚本编辑器,脚本就在那里。对不起。无意的错误。固定的