You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Apps Script删除Google Sheet中含指定文本的NamedRange

修复删除包含"campaigns"的命名范围代码

问题根源

你的代码执行无效,是因为map(x => x.getName())把NamedRange对象转换成了字符串(命名范围的名称),而字符串并没有remove()方法,导致后续的forEach循环无法执行删除操作。

正确代码

直接对筛选后的NamedRange对象执行删除,无需转换为名称字符串:

function removeNamedRanges(){
    // 获取当前工作表中所有名称含"campaigns"的NamedRange对象
    var namedRanges = SpreadsheetApp.getActiveSpreadsheet()
        .getActiveSheet()
        .getNamedRanges()
        .filter(range => range.getName().includes('campaigns'));

    // 遍历删除每个符合条件的命名范围
    namedRanges.forEach(range => range.remove());
}

扩展说明

如果需要删除整个表格(而非仅当前工作表)中含"campaigns"的命名范围,修改获取命名范围的方式即可:

function removeAllCampaignsNamedRanges(){
    var namedRanges = SpreadsheetApp.getActiveSpreadsheet()
        .getNamedRanges()
        .filter(range => range.getName().includes('campaigns'));

    namedRanges.forEach(range => range.remove());
}

内容的提问来源于stack exchange,提问作者Karim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:04:56